@angular/compiler-cli 17.1.0-next.1 → 17.1.0-next.3

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 (51) hide show
  1. package/bundles/{chunk-JZC4T2RR.js → chunk-3O3O4L34.js} +1 -1
  2. package/bundles/{chunk-UTWZHLA4.js → chunk-5ASJ74IM.js} +30 -30
  3. package/bundles/{chunk-EMC3QXAT.js → chunk-5JRMFWYO.js} +4 -4
  4. package/bundles/{chunk-LYJKWJUC.js → chunk-CF2CT7RQ.js} +3 -3
  5. package/bundles/{chunk-MTZGVQDN.js → chunk-DV5CKGO6.js} +241 -129
  6. package/bundles/chunk-DV5CKGO6.js.map +6 -0
  7. package/bundles/{chunk-VHIKXGRX.js → chunk-EVIA54WP.js} +29 -27
  8. package/bundles/{chunk-VHIKXGRX.js.map → chunk-EVIA54WP.js.map} +1 -1
  9. package/bundles/{chunk-DUY2FPLZ.js → chunk-I3M5LXMW.js} +7 -7
  10. package/bundles/{chunk-64JBPJBS.js → chunk-JOIB3454.js} +5 -5
  11. package/bundles/{chunk-2UJEML3U.js → chunk-LJKJD6DP.js} +97 -85
  12. package/bundles/chunk-LJKJD6DP.js.map +6 -0
  13. package/bundles/{chunk-2WQIUGOU.js → chunk-WMUBJYYX.js} +7 -7
  14. package/bundles/{chunk-XCEXKEDO.js → chunk-XI2N3MV4.js} +11 -11
  15. package/bundles/{chunk-U6JZJXY2.js → chunk-ZH5AJH3B.js} +5 -5
  16. package/bundles/index.js +13 -13
  17. package/bundles/linker/babel/index.js +13 -13
  18. package/bundles/linker/index.js +5 -5
  19. package/bundles/ngcc/index.js +1 -1
  20. package/bundles/private/bazel.js +1 -1
  21. package/bundles/private/localize.js +3 -3
  22. package/bundles/private/migrations.js +6 -6
  23. package/bundles/private/tooling.js +4 -4
  24. package/bundles/src/bin/ng_xi18n.js +11 -11
  25. package/bundles/src/bin/ngc.js +9 -9
  26. package/bundles_metadata.json +1 -1
  27. package/linker/src/file_linker/partial_linkers/util.d.ts +1 -1
  28. package/package.json +2 -2
  29. package/src/bin/ng_xi18n.d.ts +1 -1
  30. package/src/bin/ngc.d.ts +1 -1
  31. package/src/ngtsc/core/src/host.d.ts +3 -2
  32. package/src/ngtsc/diagnostics/src/error_code.d.ts +14 -0
  33. package/src/ngtsc/diagnostics/src/extended_template_diagnostic_name.d.ts +2 -1
  34. package/src/ngtsc/program_driver/src/ts_create_program_driver.d.ts +2 -1
  35. package/src/ngtsc/typecheck/api/api.d.ts +8 -0
  36. package/src/ngtsc/typecheck/api/context.d.ts +3 -1
  37. package/src/ngtsc/typecheck/extended/index.d.ts +1 -0
  38. package/src/ngtsc/typecheck/src/context.d.ts +1 -1
  39. package/src/ngtsc/typecheck/src/oob.d.ts +7 -1
  40. package/src/ngtsc/typecheck/src/type_check_block.d.ts +5 -2
  41. package/bundles/chunk-2UJEML3U.js.map +0 -6
  42. package/bundles/chunk-MTZGVQDN.js.map +0 -6
  43. /package/bundles/{chunk-JZC4T2RR.js.map → chunk-3O3O4L34.js.map} +0 -0
  44. /package/bundles/{chunk-UTWZHLA4.js.map → chunk-5ASJ74IM.js.map} +0 -0
  45. /package/bundles/{chunk-EMC3QXAT.js.map → chunk-5JRMFWYO.js.map} +0 -0
  46. /package/bundles/{chunk-LYJKWJUC.js.map → chunk-CF2CT7RQ.js.map} +0 -0
  47. /package/bundles/{chunk-DUY2FPLZ.js.map → chunk-I3M5LXMW.js.map} +0 -0
  48. /package/bundles/{chunk-64JBPJBS.js.map → chunk-JOIB3454.js.map} +0 -0
  49. /package/bundles/{chunk-2WQIUGOU.js.map → chunk-WMUBJYYX.js.map} +0 -0
  50. /package/bundles/{chunk-XCEXKEDO.js.map → chunk-XI2N3MV4.js.map} +0 -0
  51. /package/bundles/{chunk-U6JZJXY2.js.map → chunk-ZH5AJH3B.js.map} +0 -0
@@ -36,14 +36,14 @@ import {
36
36
  aliasTransformFactory,
37
37
  declarationTransformFactory,
38
38
  ivyTransformFactory
39
- } from "./chunk-2UJEML3U.js";
39
+ } from "./chunk-LJKJD6DP.js";
40
40
  import {
41
41
  ImportManager,
42
42
  TypeEmitter,
43
43
  canEmitType,
44
44
  translateExpression,
45
45
  translateType
46
- } from "./chunk-XCEXKEDO.js";
46
+ } from "./chunk-XI2N3MV4.js";
47
47
  import {
48
48
  AbsoluteModuleStrategy,
49
49
  AliasStrategy,
@@ -85,14 +85,14 @@ import {
85
85
  relativePathBetween,
86
86
  replaceTsWithNgInErrors,
87
87
  toUnredirectedSourceFile
88
- } from "./chunk-VHIKXGRX.js";
88
+ } from "./chunk-EVIA54WP.js";
89
89
  import {
90
90
  ActivePerfRecorder,
91
91
  DelegatingPerfRecorder,
92
92
  PerfCheckpoint,
93
93
  PerfEvent,
94
94
  PerfPhase
95
- } from "./chunk-64JBPJBS.js";
95
+ } from "./chunk-JOIB3454.js";
96
96
  import {
97
97
  LogicalFileSystem,
98
98
  absoluteFrom,
@@ -102,9 +102,9 @@ import {
102
102
  getSourceFileOrError,
103
103
  join,
104
104
  resolve
105
- } from "./chunk-DUY2FPLZ.js";
105
+ } from "./chunk-I3M5LXMW.js";
106
106
 
107
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/api.mjs
107
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/api.mjs
108
108
  var DEFAULT_ERROR_CODE = 100;
109
109
  var UNKNOWN_ERROR_CODE = 500;
110
110
  var SOURCE = "angular";
@@ -122,7 +122,7 @@ var EmitFlags;
122
122
  EmitFlags2[EmitFlags2["All"] = 31] = "All";
123
123
  })(EmitFlags || (EmitFlags = {}));
124
124
 
125
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/compiler_host.mjs
125
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/compiler_host.mjs
126
126
  import ts from "typescript";
127
127
  var wrapHostForTest = null;
128
128
  function createCompilerHost({ options, tsHost = ts.createCompilerHost(options, true) }) {
@@ -132,7 +132,7 @@ function createCompilerHost({ options, tsHost = ts.createCompilerHost(options, t
132
132
  return tsHost;
133
133
  }
134
134
 
135
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/entities.mjs
135
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/entities.mjs
136
136
  var EntryType;
137
137
  (function(EntryType2) {
138
138
  EntryType2["Block"] = "block";
@@ -175,11 +175,11 @@ var MemberTags;
175
175
  MemberTags2["Inherited"] = "override";
176
176
  })(MemberTags || (MemberTags = {}));
177
177
 
178
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
178
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
179
179
  import { HtmlParser, MessageBundle } from "@angular/compiler";
180
180
  import ts37 from "typescript";
181
181
 
182
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/i18n.mjs
182
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/i18n.mjs
183
183
  import { Xliff, Xliff2, Xmb } from "@angular/compiler";
184
184
  import * as path from "path";
185
185
  function i18nGetExtension(formatName) {
@@ -230,10 +230,10 @@ function getPathNormalizer(basePath) {
230
230
  };
231
231
  }
232
232
 
233
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
233
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
234
234
  import ts2 from "typescript";
235
235
 
236
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/version_helpers.mjs
236
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/version_helpers.mjs
237
237
  function toNumbers(value) {
238
238
  const suffixIndex = value.lastIndexOf("-");
239
239
  return value.slice(0, suffixIndex === -1 ? value.length : suffixIndex).split(".").map((segment) => {
@@ -268,7 +268,7 @@ function compareVersions(v1, v2) {
268
268
  return compareNumbers(toNumbers(v1), toNumbers(v2));
269
269
  }
270
270
 
271
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
271
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
272
272
  var MIN_TS_VERSION = "5.2.0";
273
273
  var MAX_TS_VERSION = "5.4.0";
274
274
  var tsVersion = ts2.version;
@@ -281,10 +281,10 @@ function verifySupportedTypeScriptVersion() {
281
281
  checkVersion(tsVersion, MIN_TS_VERSION, MAX_TS_VERSION);
282
282
  }
283
283
 
284
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
284
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
285
285
  import ts35 from "typescript";
286
286
 
287
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/analyzer.mjs
287
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/analyzer.mjs
288
288
  var CycleAnalyzer = class {
289
289
  constructor(importGraph) {
290
290
  this.importGraph = importGraph;
@@ -355,7 +355,7 @@ var Cycle = class {
355
355
  }
356
356
  };
357
357
 
358
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/imports.mjs
358
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/imports.mjs
359
359
  import ts3 from "typescript";
360
360
  var ImportGraph = class {
361
361
  constructor(checker, perf) {
@@ -447,23 +447,23 @@ var Found = class {
447
447
  }
448
448
  };
449
449
 
450
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
450
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
451
451
  import ts9 from "typescript";
452
452
 
453
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/class_extractor.mjs
453
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/class_extractor.mjs
454
454
  import ts6 from "typescript";
455
455
 
456
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/filters.mjs
456
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/filters.mjs
457
457
  function isAngularPrivateName(name) {
458
458
  var _a;
459
459
  const firstChar = (_a = name[0]) != null ? _a : "";
460
460
  return firstChar === "\u0275" || firstChar === "_";
461
461
  }
462
462
 
463
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/function_extractor.mjs
463
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/function_extractor.mjs
464
464
  import ts5 from "typescript";
465
465
 
466
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/generics_extractor.mjs
466
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/generics_extractor.mjs
467
467
  function extractGenerics(declaration) {
468
468
  var _a, _b;
469
469
  return (_b = (_a = declaration.typeParameters) == null ? void 0 : _a.map((typeParam) => {
@@ -476,7 +476,7 @@ function extractGenerics(declaration) {
476
476
  })) != null ? _b : [];
477
477
  }
478
478
 
479
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/jsdoc_extractor.mjs
479
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/jsdoc_extractor.mjs
480
480
  import ts4 from "typescript";
481
481
  var decoratorExpression = /@(?=(Injectable|Component|Directive|Pipe|NgModule|Input|Output|HostBinding|HostListener|Inject|Optional|Self|Host|SkipSelf))/g;
482
482
  function extractJsDocTags(node) {
@@ -520,12 +520,12 @@ function unescapeAngularDecorators(comment) {
520
520
  return comment.replace(/_NG_AT_/g, "@");
521
521
  }
522
522
 
523
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/type_extractor.mjs
523
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/type_extractor.mjs
524
524
  function extractResolvedTypeString(node, checker) {
525
525
  return checker.typeToString(checker.getTypeAtLocation(node));
526
526
  }
527
527
 
528
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/function_extractor.mjs
528
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/function_extractor.mjs
529
529
  var FunctionExtractor = class {
530
530
  constructor(declaration, typeChecker) {
531
531
  this.declaration = declaration;
@@ -579,7 +579,7 @@ var FunctionExtractor = class {
579
579
  }
580
580
  };
581
581
 
582
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/class_extractor.mjs
582
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/class_extractor.mjs
583
583
  var ClassExtractor = class {
584
584
  constructor(declaration, typeChecker) {
585
585
  this.declaration = declaration;
@@ -811,7 +811,7 @@ function extractInterface(declaration, typeChecker) {
811
811
  return extractor.extract();
812
812
  }
813
813
 
814
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/constant_extractor.mjs
814
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/constant_extractor.mjs
815
815
  function extractConstant(declaration, typeChecker) {
816
816
  const resolvedType = typeChecker.getBaseTypeOfLiteralType(typeChecker.getTypeAtLocation(declaration));
817
817
  const variableStatement = declaration.parent.parent;
@@ -829,7 +829,7 @@ function isSyntheticAngularConstant(declaration) {
829
829
  return declaration.name.getText() === "USED_FOR_NG_TYPE_CHECKING";
830
830
  }
831
831
 
832
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/decorator_extractor.mjs
832
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/decorator_extractor.mjs
833
833
  import ts7 from "typescript";
834
834
  function extractorDecorator(declaration, typeChecker) {
835
835
  const documentedNode = getDecoratorJsDocNode(declaration);
@@ -902,7 +902,7 @@ function getDecoratorJsDocNode(declaration) {
902
902
  return callSignature;
903
903
  }
904
904
 
905
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/enum_extractor.mjs
905
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/enum_extractor.mjs
906
906
  import ts8 from "typescript";
907
907
  function extractEnum(declaration, typeChecker) {
908
908
  return {
@@ -933,7 +933,7 @@ function getEnumMemberValue(memberNode) {
933
933
  return (_a = literal == null ? void 0 : literal.getText()) != null ? _a : "";
934
934
  }
935
935
 
936
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/type_alias_extractor.mjs
936
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/type_alias_extractor.mjs
937
937
  function extractTypeAlias(declaration) {
938
938
  return {
939
939
  name: declaration.name.getText(),
@@ -945,7 +945,7 @@ function extractTypeAlias(declaration) {
945
945
  };
946
946
  }
947
947
 
948
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
948
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
949
949
  var DocsExtractor = class {
950
950
  constructor(typeChecker, metadataReader) {
951
951
  this.typeChecker = typeChecker;
@@ -1007,7 +1007,7 @@ function isIgnoredInterface(node) {
1007
1007
  return node.name.getText().endsWith("Decorator") || isDecoratorOptionsInterface(node);
1008
1008
  }
1009
1009
 
1010
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/generator.mjs
1010
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/generator.mjs
1011
1011
  import ts10 from "typescript";
1012
1012
  var FlatIndexGenerator = class {
1013
1013
  constructor(entryPoint, relativeFlatIndexPath, moduleName) {
@@ -1032,7 +1032,7 @@ export * from '${relativeEntryPoint}';
1032
1032
  }
1033
1033
  };
1034
1034
 
1035
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/logic.mjs
1035
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/logic.mjs
1036
1036
  function findFlatIndexEntryPoint(rootFiles) {
1037
1037
  const tsFiles = rootFiles.filter((file) => isNonDeclarationTsPath(file));
1038
1038
  let resolvedEntryPoint = null;
@@ -1048,7 +1048,7 @@ function findFlatIndexEntryPoint(rootFiles) {
1048
1048
  return resolvedEntryPoint;
1049
1049
  }
1050
1050
 
1051
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/private_export_checker.mjs
1051
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/private_export_checker.mjs
1052
1052
  import ts11 from "typescript";
1053
1053
  function checkForPrivateExports(entryPoint, checker, refGraph) {
1054
1054
  const diagnostics = [];
@@ -1128,7 +1128,7 @@ function getDescriptorOfDeclaration(decl) {
1128
1128
  }
1129
1129
  }
1130
1130
 
1131
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/reference_graph.mjs
1131
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/reference_graph.mjs
1132
1132
  var ReferenceGraph = class {
1133
1133
  constructor() {
1134
1134
  this.references = /* @__PURE__ */ new Map();
@@ -1182,7 +1182,7 @@ var ReferenceGraph = class {
1182
1182
  }
1183
1183
  };
1184
1184
 
1185
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/api.mjs
1185
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/api.mjs
1186
1186
  var NgOriginalFile = Symbol("NgOriginalFile");
1187
1187
  var UpdateMode;
1188
1188
  (function(UpdateMode2) {
@@ -1190,13 +1190,13 @@ var UpdateMode;
1190
1190
  UpdateMode2[UpdateMode2["Incremental"] = 1] = "Incremental";
1191
1191
  })(UpdateMode || (UpdateMode = {}));
1192
1192
 
1193
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
1193
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
1194
1194
  import ts13 from "typescript";
1195
1195
 
1196
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
1196
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
1197
1197
  import ts12 from "typescript";
1198
1198
 
1199
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/expando.mjs
1199
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/expando.mjs
1200
1200
  var NgExtension = Symbol("NgExtension");
1201
1201
  function isExtended(sf) {
1202
1202
  return sf[NgExtension] !== void 0;
@@ -1256,13 +1256,13 @@ function retagTsFile(sf) {
1256
1256
  }
1257
1257
  }
1258
1258
 
1259
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/util.mjs
1259
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/util.mjs
1260
1260
  var TS_EXTENSIONS = /\.tsx?$/i;
1261
1261
  function makeShimFileName(fileName, suffix) {
1262
1262
  return absoluteFrom(fileName.replace(TS_EXTENSIONS, suffix));
1263
1263
  }
1264
1264
 
1265
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
1265
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
1266
1266
  var ShimAdapter = class {
1267
1267
  constructor(delegate, tsRootFiles, topLevelGenerators, perFileGenerators, oldProgram) {
1268
1268
  this.delegate = delegate;
@@ -1357,7 +1357,7 @@ var ShimAdapter = class {
1357
1357
  }
1358
1358
  };
1359
1359
 
1360
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/reference_tagger.mjs
1360
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/reference_tagger.mjs
1361
1361
  var ShimReferenceTagger = class {
1362
1362
  constructor(shimExtensions) {
1363
1363
  this.tagged = /* @__PURE__ */ new Set();
@@ -1391,8 +1391,14 @@ var ShimReferenceTagger = class {
1391
1391
  }
1392
1392
  };
1393
1393
 
1394
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
1394
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
1395
1395
  var DelegatingCompilerHost = class {
1396
+ get jsDocParsingMode() {
1397
+ return this.delegate.jsDocParsingMode;
1398
+ }
1399
+ set jsDocParsingMode(mode) {
1400
+ this.delegate.jsDocParsingMode = mode;
1401
+ }
1396
1402
  constructor(delegate) {
1397
1403
  this.delegate = delegate;
1398
1404
  this.createHash = this.delegateMethod("createHash");
@@ -1418,7 +1424,6 @@ var DelegatingCompilerHost = class {
1418
1424
  this.hasInvalidatedResolutions = this.delegateMethod("hasInvalidatedResolutions");
1419
1425
  this.resolveModuleNameLiterals = this.delegateMethod("resolveModuleNameLiterals");
1420
1426
  this.resolveTypeReferenceDirectiveReferences = this.delegateMethod("resolveTypeReferenceDirectiveReferences");
1421
- this.jsDocParsingMode = this.delegateMethod("jsDocParsingMode");
1422
1427
  }
1423
1428
  delegateMethod(name) {
1424
1429
  return this.delegate[name] !== void 0 ? this.delegate[name].bind(this.delegate) : void 0;
@@ -1432,10 +1437,10 @@ var UpdatedProgramHost = class extends DelegatingCompilerHost {
1432
1437
  this.shimTagger = new ShimReferenceTagger(this.shimExtensionPrefixes);
1433
1438
  this.sfMap = sfMap;
1434
1439
  }
1435
- getSourceFile(fileName, languageVersion, onError, shouldCreateNewSourceFile) {
1440
+ getSourceFile(fileName, languageVersionOrOptions, onError, shouldCreateNewSourceFile) {
1436
1441
  let delegateSf = this.originalProgram.getSourceFile(fileName);
1437
1442
  if (delegateSf === void 0) {
1438
- delegateSf = this.delegate.getSourceFile(fileName, languageVersion, onError, shouldCreateNewSourceFile);
1443
+ delegateSf = this.delegate.getSourceFile(fileName, languageVersionOrOptions, onError, shouldCreateNewSourceFile);
1439
1444
  }
1440
1445
  if (delegateSf === void 0) {
1441
1446
  return void 0;
@@ -1505,7 +1510,7 @@ var TsCreateProgramDriver = class {
1505
1510
  }
1506
1511
  };
1507
1512
 
1508
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/dependency_tracking.mjs
1513
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/dependency_tracking.mjs
1509
1514
  var FileDependencyGraph = class {
1510
1515
  constructor() {
1511
1516
  this.nodes = /* @__PURE__ */ new Map();
@@ -1572,7 +1577,7 @@ function isLogicallyChanged(sf, node, changedTsPaths, deletedTsPaths, changedRes
1572
1577
  return false;
1573
1578
  }
1574
1579
 
1575
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/state.mjs
1580
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/state.mjs
1576
1581
  var IncrementalStateKind;
1577
1582
  (function(IncrementalStateKind2) {
1578
1583
  IncrementalStateKind2[IncrementalStateKind2["Fresh"] = 0] = "Fresh";
@@ -1580,7 +1585,7 @@ var IncrementalStateKind;
1580
1585
  IncrementalStateKind2[IncrementalStateKind2["Analyzed"] = 2] = "Analyzed";
1581
1586
  })(IncrementalStateKind || (IncrementalStateKind = {}));
1582
1587
 
1583
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/incremental.mjs
1588
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/incremental.mjs
1584
1589
  var PhaseKind;
1585
1590
  (function(PhaseKind2) {
1586
1591
  PhaseKind2[PhaseKind2["Analysis"] = 0] = "Analysis";
@@ -1781,7 +1786,7 @@ function toOriginalSourceFile(sf) {
1781
1786
  }
1782
1787
  }
1783
1788
 
1784
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/strategy.mjs
1789
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/strategy.mjs
1785
1790
  var TrackedIncrementalBuildStrategy = class {
1786
1791
  constructor() {
1787
1792
  this.state = null;
@@ -1817,7 +1822,7 @@ var PatchedProgramIncrementalBuildStrategy = class {
1817
1822
  };
1818
1823
  var SYM_INCREMENTAL_STATE = Symbol("NgIncrementalState");
1819
1824
 
1820
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/api.mjs
1825
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/api.mjs
1821
1826
  var IdentifierKind;
1822
1827
  (function(IdentifierKind2) {
1823
1828
  IdentifierKind2[IdentifierKind2["Property"] = 0] = "Property";
@@ -1835,7 +1840,7 @@ var AbsoluteSourceSpan = class {
1835
1840
  }
1836
1841
  };
1837
1842
 
1838
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/context.mjs
1843
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/context.mjs
1839
1844
  var IndexingContext = class {
1840
1845
  constructor() {
1841
1846
  this.components = /* @__PURE__ */ new Set();
@@ -1845,10 +1850,10 @@ var IndexingContext = class {
1845
1850
  }
1846
1851
  };
1847
1852
 
1848
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
1853
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
1849
1854
  import { ParseSourceFile } from "@angular/compiler";
1850
1855
 
1851
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/template.mjs
1856
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/template.mjs
1852
1857
  import { ASTWithSource, ImplicitReceiver, PropertyRead, PropertyWrite, RecursiveAstVisitor, TmplAstBoundDeferredTrigger, TmplAstElement, TmplAstRecursiveVisitor, TmplAstReference, TmplAstTemplate } from "@angular/compiler";
1853
1858
  var ExpressionVisitor = class extends RecursiveAstVisitor {
1854
1859
  constructor(expressionStr, absoluteOffset, boundTemplate, targetToIdentifier) {
@@ -2130,7 +2135,7 @@ function getTemplateIdentifiers(boundTemplate) {
2130
2135
  return { identifiers: visitor.identifiers, errors: visitor.errors };
2131
2136
  }
2132
2137
 
2133
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
2138
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
2134
2139
  function generateAnalysis(context) {
2135
2140
  const analysis = /* @__PURE__ */ new Map();
2136
2141
  context.components.forEach(({ declaration, selector, boundTemplate, templateMeta }) => {
@@ -2166,7 +2171,7 @@ function generateAnalysis(context) {
2166
2171
  return analysis;
2167
2172
  }
2168
2173
 
2169
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/ng_module_index.mjs
2174
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/ng_module_index.mjs
2170
2175
  var NgModuleIndexImpl = class {
2171
2176
  constructor(metaReader, localReader) {
2172
2177
  this.metaReader = metaReader;
@@ -2255,7 +2260,7 @@ var NgModuleIndexImpl = class {
2255
2260
  }
2256
2261
  };
2257
2262
 
2258
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/resource/src/loader.mjs
2263
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/resource/src/loader.mjs
2259
2264
  import ts14 from "typescript";
2260
2265
  var CSS_PREPROCESSOR_EXT = /(\.scss|\.sass|\.less|\.styl)$/;
2261
2266
  var RESOURCE_MARKER = ".$ngresource$";
@@ -2401,7 +2406,7 @@ function createLookupResolutionHost(adapter) {
2401
2406
  };
2402
2407
  }
2403
2408
 
2404
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/standalone.mjs
2409
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/standalone.mjs
2405
2410
  var StandaloneComponentScopeReader = class {
2406
2411
  constructor(metaReader, localModuleReader, dtsModuleReader) {
2407
2412
  this.metaReader = metaReader;
@@ -2479,10 +2484,10 @@ var StandaloneComponentScopeReader = class {
2479
2484
  }
2480
2485
  };
2481
2486
 
2482
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
2483
- import { CssSelector, DomElementSchemaRegistry as DomElementSchemaRegistry2, ExternalExpr as ExternalExpr2, WrappedNodeExpr } from "@angular/compiler";
2487
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
2488
+ import { CssSelector as CssSelector2, DomElementSchemaRegistry as DomElementSchemaRegistry2, ExternalExpr as ExternalExpr2, WrappedNodeExpr } from "@angular/compiler";
2484
2489
 
2485
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/diagnostic.mjs
2490
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/diagnostic.mjs
2486
2491
  import ts15 from "typescript";
2487
2492
  function makeTemplateDiagnostic(templateId, mapping, span, category, code, messageText, relatedMessages) {
2488
2493
  var _a;
@@ -2589,7 +2594,7 @@ function parseTemplateAsSourceFile(fileName, template) {
2589
2594
  return ts15.createSourceFile(fileName, template, ts15.ScriptTarget.Latest, false, ts15.ScriptKind.JSX);
2590
2595
  }
2591
2596
 
2592
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/id.mjs
2597
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/id.mjs
2593
2598
  var TEMPLATE_ID = Symbol("ngTemplateId");
2594
2599
  var NEXT_TEMPLATE_ID = Symbol("ngNextTemplateId");
2595
2600
  function getTemplateId(clazz) {
@@ -2606,11 +2611,11 @@ function allocateTemplateId(sf) {
2606
2611
  return `tcb${sf[NEXT_TEMPLATE_ID]++}`;
2607
2612
  }
2608
2613
 
2609
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
2614
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
2610
2615
  import { EmptyExpr, ImplicitReceiver as ImplicitReceiver2, PropertyRead as PropertyRead2, PropertyWrite as PropertyWrite2, SafePropertyRead, TmplAstReference as TmplAstReference2, TmplAstTextAttribute } from "@angular/compiler";
2611
2616
  import ts17 from "typescript";
2612
2617
 
2613
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/comments.mjs
2618
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/comments.mjs
2614
2619
  import { AbsoluteSourceSpan as AbsoluteSourceSpan2 } from "@angular/compiler";
2615
2620
  import ts16 from "typescript";
2616
2621
  var parseSpanComment = /^(\d+),(\d+)$/;
@@ -2740,7 +2745,7 @@ function hasExpressionIdentifier(sourceFile, node, identifier) {
2740
2745
  }) || false;
2741
2746
  }
2742
2747
 
2743
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
2748
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
2744
2749
  var CompletionEngine = class {
2745
2750
  constructor(tcb, data, tcbPath, tcbIsShim) {
2746
2751
  this.tcb = tcb;
@@ -2897,10 +2902,10 @@ var CompletionEngine = class {
2897
2902
  }
2898
2903
  };
2899
2904
 
2900
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
2905
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
2901
2906
  import ts30 from "typescript";
2902
2907
 
2903
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/dom.mjs
2908
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/dom.mjs
2904
2909
  import { DomElementSchemaRegistry } from "@angular/compiler";
2905
2910
  import ts18 from "typescript";
2906
2911
  var REGISTRY = new DomElementSchemaRegistry();
@@ -2953,11 +2958,11 @@ var RegistryDomSchemaChecker = class {
2953
2958
  }
2954
2959
  };
2955
2960
 
2956
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
2961
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
2957
2962
  import { ExpressionType, ExternalExpr, TypeModifier } from "@angular/compiler";
2958
2963
  import ts23 from "typescript";
2959
2964
 
2960
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/ts_util.mjs
2965
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/ts_util.mjs
2961
2966
  import ts19 from "typescript";
2962
2967
  var SAFE_TO_CAST_WITHOUT_PARENS = /* @__PURE__ */ new Set([
2963
2968
  ts19.SyntaxKind.ParenthesizedExpression,
@@ -3042,13 +3047,13 @@ function tsNumericExpression(value) {
3042
3047
  return ts19.factory.createNumericLiteral(value);
3043
3048
  }
3044
3049
 
3045
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
3050
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
3046
3051
  import ts22 from "typescript";
3047
3052
 
3048
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
3053
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
3049
3054
  import ts21 from "typescript";
3050
3055
 
3051
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_parameter_emitter.mjs
3056
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_parameter_emitter.mjs
3052
3057
  import ts20 from "typescript";
3053
3058
  var TypeParameterEmitter = class {
3054
3059
  constructor(typeParameters, reflector) {
@@ -3126,7 +3131,7 @@ var TypeParameterEmitter = class {
3126
3131
  }
3127
3132
  };
3128
3133
 
3129
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
3134
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
3130
3135
  var TcbInliningRequirement;
3131
3136
  (function(TcbInliningRequirement2) {
3132
3137
  TcbInliningRequirement2[TcbInliningRequirement2["MustInline"] = 0] = "MustInline";
@@ -3206,7 +3211,7 @@ function checkIfGenericTypeBoundsCanBeEmitted(node, reflector, env) {
3206
3211
  return emitter.canEmit((ref) => env.canReferenceType(ref));
3207
3212
  }
3208
3213
 
3209
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
3214
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
3210
3215
  function generateTypeCtorDeclarationFn(node, meta, nodeTypeRef, typeParams) {
3211
3216
  const rawTypeArgs = typeParams !== void 0 ? generateGenericArgs(typeParams) : void 0;
3212
3217
  const rawType = ts22.factory.createTypeReferenceNode(nodeTypeRef, rawTypeArgs);
@@ -3317,7 +3322,7 @@ function typeParametersWithDefaultTypes(params) {
3317
3322
  });
3318
3323
  }
3319
3324
 
3320
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
3325
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
3321
3326
  var Environment = class {
3322
3327
  constructor(config, importManager, refEmitter, reflector, contextFile) {
3323
3328
  this.config = config;
@@ -3411,8 +3416,8 @@ var Environment = class {
3411
3416
  }
3412
3417
  };
3413
3418
 
3414
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/oob.mjs
3415
- import { TmplAstElement as TmplAstElement2 } from "@angular/compiler";
3419
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/oob.mjs
3420
+ import { TmplAstElement as TmplAstElement2, TmplAstIfBlockBranch } from "@angular/compiler";
3416
3421
  import ts24 from "typescript";
3417
3422
  var OutOfBandDiagnosticRecorderImpl = class {
3418
3423
  constructor(resolver) {
@@ -3558,6 +3563,21 @@ Deferred blocks can only access triggers in same view, a parent embedded view or
3558
3563
  }
3559
3564
  this._diagnostics.push(makeTemplateDiagnostic(templateId, this.resolver.getSourceMapping(templateId), trigger.sourceSpan, ts24.DiagnosticCategory.Error, ngErrorCode(ErrorCode.INACCESSIBLE_DEFERRED_TRIGGER_ELEMENT), message));
3560
3565
  }
3566
+ controlFlowPreventingContentProjection(templateId, category, projectionNode, componentName, slotSelector, controlFlowNode, preservesWhitespaces) {
3567
+ const blockName = controlFlowNode instanceof TmplAstIfBlockBranch ? "@if" : "@for";
3568
+ const lines = [
3569
+ `Node matches the "${slotSelector}" slot of the "${componentName}" component, but will not be projected into the specific slot because the surrounding ${blockName} has more than one node at its root. To project the node in the right slot, you can:
3570
+ `,
3571
+ `1. Wrap the content of the ${blockName} block in an <ng-container/> that matches the "${slotSelector}" selector.`,
3572
+ `2. Split the content of the ${blockName} block across multiple ${blockName} blocks such that each one only has a single projectable node at its root.`,
3573
+ `3. Remove all content from the ${blockName} block, except for the node being projected.`
3574
+ ];
3575
+ if (preservesWhitespaces) {
3576
+ lines.push("Note: the host component has `preserveWhitespaces: true` which may cause whitespace to affect content projection.");
3577
+ }
3578
+ lines.push("", 'This check can be disabled using the `extendedDiagnostics.checks.controlFlowPreventingContentProjection = "suppress" compiler option.`');
3579
+ this._diagnostics.push(makeTemplateDiagnostic(templateId, this.resolver.getSourceMapping(templateId), projectionNode.startSourceSpan, category, ngErrorCode(ErrorCode.CONTROL_FLOW_PREVENTING_CONTENT_PROJECTION), lines.join("\n")));
3580
+ }
3561
3581
  };
3562
3582
  function makeInlineDiagnostic(templateId, code, node, messageText, relatedInformation) {
3563
3583
  return {
@@ -3567,7 +3587,7 @@ function makeInlineDiagnostic(templateId, code, node, messageText, relatedInform
3567
3587
  };
3568
3588
  }
3569
3589
 
3570
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/shim.mjs
3590
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/shim.mjs
3571
3591
  import ts25 from "typescript";
3572
3592
  var TypeCheckShimGenerator = class {
3573
3593
  constructor() {
@@ -3585,11 +3605,11 @@ var TypeCheckShimGenerator = class {
3585
3605
  }
3586
3606
  };
3587
3607
 
3588
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
3589
- import { BindingPipe, Call as Call2, DYNAMIC_TYPE, ImplicitReceiver as ImplicitReceiver4, PropertyRead as PropertyRead4, PropertyWrite as PropertyWrite3, SafeCall, SafePropertyRead as SafePropertyRead3, ThisReceiver, TmplAstBoundAttribute, TmplAstBoundText, TmplAstDeferredBlock, TmplAstElement as TmplAstElement3, TmplAstForLoopBlock, TmplAstIcu, TmplAstIfBlock, TmplAstIfBlockBranch, TmplAstReference as TmplAstReference3, TmplAstSwitchBlock, TmplAstTemplate as TmplAstTemplate2, TmplAstTextAttribute as TmplAstTextAttribute2, TmplAstVariable as TmplAstVariable2, TransplantedType } from "@angular/compiler";
3608
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
3609
+ import { BindingPipe, Call as Call2, createCssSelectorFromNode, CssSelector, DYNAMIC_TYPE, ImplicitReceiver as ImplicitReceiver4, PropertyRead as PropertyRead4, PropertyWrite as PropertyWrite3, SafeCall, SafePropertyRead as SafePropertyRead3, SelectorMatcher, ThisReceiver, TmplAstBoundAttribute, TmplAstBoundText, TmplAstDeferredBlock, TmplAstElement as TmplAstElement3, TmplAstForLoopBlock, TmplAstIcu, TmplAstIfBlock, TmplAstIfBlockBranch as TmplAstIfBlockBranch2, TmplAstReference as TmplAstReference3, TmplAstSwitchBlock, TmplAstTemplate as TmplAstTemplate2, TmplAstText, TmplAstTextAttribute as TmplAstTextAttribute2, TmplAstVariable as TmplAstVariable2, TransplantedType } from "@angular/compiler";
3590
3610
  import ts28 from "typescript";
3591
3611
 
3592
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/diagnostics.mjs
3612
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/diagnostics.mjs
3593
3613
  import { AbsoluteSourceSpan as AbsoluteSourceSpan3 } from "@angular/compiler";
3594
3614
  import ts26 from "typescript";
3595
3615
  function wrapForDiagnostics(expr) {
@@ -3635,7 +3655,7 @@ function translateDiagnostic(diagnostic, resolver) {
3635
3655
  return makeTemplateDiagnostic(sourceLocation.id, templateSourceMapping, span, diagnostic.category, diagnostic.code, diagnostic.messageText);
3636
3656
  }
3637
3657
 
3638
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/expression.mjs
3658
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/expression.mjs
3639
3659
  import { ASTWithSource as ASTWithSource2, Call, EmptyExpr as EmptyExpr2, PropertyRead as PropertyRead3, SafeKeyedRead, SafePropertyRead as SafePropertyRead2 } from "@angular/compiler";
3640
3660
  import ts27 from "typescript";
3641
3661
  var NULL_AS_ANY = ts27.factory.createAsExpression(ts27.factory.createNull(), ts27.factory.createKeywordTypeNode(ts27.SyntaxKind.AnyKeyword));
@@ -3968,7 +3988,7 @@ var VeSafeLhsInferenceBugDetector = _VeSafeLhsInferenceBugDetector;
3968
3988
  _VeSafeLhsInferenceBugDetector.SINGLETON = new _VeSafeLhsInferenceBugDetector();
3969
3989
  })();
3970
3990
 
3971
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_semantics.mjs
3991
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_semantics.mjs
3972
3992
  import { ImplicitReceiver as ImplicitReceiver3, RecursiveAstVisitor as RecursiveAstVisitor2, TmplAstVariable } from "@angular/compiler";
3973
3993
  var ExpressionSemanticVisitor = class extends RecursiveAstVisitor2 {
3974
3994
  constructor(templateId, boundTarget, oob) {
@@ -3992,7 +4012,7 @@ var ExpressionSemanticVisitor = class extends RecursiveAstVisitor2 {
3992
4012
  }
3993
4013
  };
3994
4014
 
3995
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
4015
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
3996
4016
  var TcbGenericContextBehavior;
3997
4017
  (function(TcbGenericContextBehavior2) {
3998
4018
  TcbGenericContextBehavior2[TcbGenericContextBehavior2["UseEmitter"] = 0] = "UseEmitter";
@@ -4000,7 +4020,7 @@ var TcbGenericContextBehavior;
4000
4020
  TcbGenericContextBehavior2[TcbGenericContextBehavior2["FallbackToAny"] = 2] = "FallbackToAny";
4001
4021
  })(TcbGenericContextBehavior || (TcbGenericContextBehavior = {}));
4002
4022
  function generateTypeCheckBlock(env, ref, name, meta, domSchemaChecker, oobRecorder, genericContextBehavior) {
4003
- const tcb = new Context(env, domSchemaChecker, oobRecorder, meta.id, meta.boundTarget, meta.pipes, meta.schemas, meta.isStandalone);
4023
+ const tcb = new Context(env, domSchemaChecker, oobRecorder, meta.id, meta.boundTarget, meta.pipes, meta.schemas, meta.isStandalone, meta.preserveWhitespaces);
4004
4024
  const scope = Scope.forNodes(tcb, null, null, tcb.boundTarget.target.template, null);
4005
4025
  const ctxRawType = env.referenceType(ref);
4006
4026
  if (!ts28.isTypeReferenceNode(ctxRawType)) {
@@ -4456,6 +4476,62 @@ var TcbDomSchemaCheckerOp = class extends TcbOp {
4456
4476
  return null;
4457
4477
  }
4458
4478
  };
4479
+ var TcbControlFlowContentProjectionOp = class extends TcbOp {
4480
+ constructor(tcb, element, ngContentSelectors, componentName) {
4481
+ super();
4482
+ this.tcb = tcb;
4483
+ this.element = element;
4484
+ this.ngContentSelectors = ngContentSelectors;
4485
+ this.componentName = componentName;
4486
+ this.optional = false;
4487
+ this.category = tcb.env.config.controlFlowPreventingContentProjection === "error" ? ts28.DiagnosticCategory.Error : ts28.DiagnosticCategory.Warning;
4488
+ }
4489
+ execute() {
4490
+ const controlFlowToCheck = this.findPotentialControlFlowNodes();
4491
+ if (controlFlowToCheck.length > 0) {
4492
+ const matcher = new SelectorMatcher();
4493
+ for (const selector of this.ngContentSelectors) {
4494
+ if (selector !== "*") {
4495
+ matcher.addSelectables(CssSelector.parse(selector), selector);
4496
+ }
4497
+ }
4498
+ for (const root of controlFlowToCheck) {
4499
+ for (const child of root.children) {
4500
+ if (child instanceof TmplAstElement3 || child instanceof TmplAstTemplate2) {
4501
+ matcher.match(createCssSelectorFromNode(child), (_, originalSelector) => {
4502
+ this.tcb.oobRecorder.controlFlowPreventingContentProjection(this.tcb.id, this.category, child, this.componentName, originalSelector, root, this.tcb.hostPreserveWhitespaces);
4503
+ });
4504
+ }
4505
+ }
4506
+ }
4507
+ }
4508
+ return null;
4509
+ }
4510
+ findPotentialControlFlowNodes() {
4511
+ const result = [];
4512
+ for (const child of this.element.children) {
4513
+ let eligibleNode = null;
4514
+ if (child instanceof TmplAstForLoopBlock) {
4515
+ eligibleNode = child;
4516
+ } else if (child instanceof TmplAstIfBlock) {
4517
+ eligibleNode = child.branches[0];
4518
+ }
4519
+ if (eligibleNode === null || eligibleNode.children.length < 2) {
4520
+ continue;
4521
+ }
4522
+ const rootNodeCount = eligibleNode.children.reduce((count, node) => {
4523
+ if (!(node instanceof TmplAstText) || this.tcb.hostPreserveWhitespaces || node.value.trim().length > 0) {
4524
+ count++;
4525
+ }
4526
+ return count;
4527
+ }, 0);
4528
+ if (rootNodeCount > 1) {
4529
+ result.push(eligibleNode);
4530
+ }
4531
+ }
4532
+ return result;
4533
+ }
4534
+ };
4459
4535
  var ATTR_TO_PROP = new Map(Object.entries({
4460
4536
  "class": "className",
4461
4537
  "for": "htmlFor",
@@ -4775,7 +4851,11 @@ var TcbForOfOp = class extends TcbOp {
4775
4851
  }
4776
4852
  execute() {
4777
4853
  const loopScope = Scope.forNodes(this.tcb, this.scope, this.block, this.block.children, null);
4778
- const initializer = ts28.factory.createVariableDeclarationList([ts28.factory.createVariableDeclaration(this.block.item.name)], ts28.NodeFlags.Const);
4854
+ const initializerId = loopScope.resolve(this.block.item);
4855
+ if (!ts28.isIdentifier(initializerId)) {
4856
+ throw new Error(`Could not resolve for loop variable ${this.block.item.name} to an identifier`);
4857
+ }
4858
+ const initializer = ts28.factory.createVariableDeclarationList([ts28.factory.createVariableDeclaration(initializerId)], ts28.NodeFlags.Const);
4779
4859
  const expression = ts28.factory.createNonNullExpression(tcbExpression(this.block.expression, this.tcb, loopScope));
4780
4860
  const trackTranslator = new TcbForLoopTrackTranslator(this.tcb, loopScope, this.block);
4781
4861
  const trackExpression = trackTranslator.translate(this.block.trackBy);
@@ -4789,7 +4869,7 @@ var TcbForOfOp = class extends TcbOp {
4789
4869
  };
4790
4870
  var INFER_TYPE_FOR_CIRCULAR_OP_EXPR = ts28.factory.createNonNullExpression(ts28.factory.createNull());
4791
4871
  var Context = class {
4792
- constructor(env, domSchemaChecker, oobRecorder, id, boundTarget, pipes, schemas, hostIsStandalone) {
4872
+ constructor(env, domSchemaChecker, oobRecorder, id, boundTarget, pipes, schemas, hostIsStandalone, hostPreserveWhitespaces) {
4793
4873
  this.env = env;
4794
4874
  this.domSchemaChecker = domSchemaChecker;
4795
4875
  this.oobRecorder = oobRecorder;
@@ -4798,6 +4878,7 @@ var Context = class {
4798
4878
  this.pipes = pipes;
4799
4879
  this.schemas = schemas;
4800
4880
  this.hostIsStandalone = hostIsStandalone;
4881
+ this.hostPreserveWhitespaces = hostPreserveWhitespaces;
4801
4882
  this.nextId = 1;
4802
4883
  }
4803
4884
  allocateId() {
@@ -4839,13 +4920,15 @@ var _Scope = class {
4839
4920
  }
4840
4921
  this.registerVariable(scope, v, new TcbTemplateVariableOp(tcb, scope, scopedNode, v));
4841
4922
  }
4842
- } else if (scopedNode instanceof TmplAstIfBlockBranch) {
4923
+ } else if (scopedNode instanceof TmplAstIfBlockBranch2) {
4843
4924
  const { expression, expressionAlias } = scopedNode;
4844
4925
  if (expression !== null && expressionAlias !== null) {
4845
4926
  this.registerVariable(scope, expressionAlias, new TcbBlockVariableOp(tcb, scope, tcbExpression(expression, tcb, scope), expressionAlias));
4846
4927
  }
4847
4928
  } else if (scopedNode instanceof TmplAstForLoopBlock) {
4848
- this.registerVariable(scope, scopedNode.item, new TcbBlockVariableOp(tcb, scope, ts28.factory.createIdentifier(scopedNode.item.name), scopedNode.item));
4929
+ const loopInitializer = tcb.allocateId();
4930
+ addParseSpanInfo(loopInitializer, scopedNode.item.sourceSpan);
4931
+ scope.varMap.set(scopedNode.item, loopInitializer);
4849
4932
  for (const [name, variable] of Object.entries(scopedNode.contextVariables)) {
4850
4933
  if (!this.forLoopContextVariableTypes.has(name)) {
4851
4934
  throw new Error(`Unrecognized for loop context variable ${name}`);
@@ -4910,7 +4993,8 @@ var _Scope = class {
4910
4993
  if (ref instanceof TmplAstReference3 && this.referenceOpMap.has(ref)) {
4911
4994
  return this.resolveOp(this.referenceOpMap.get(ref));
4912
4995
  } else if (ref instanceof TmplAstVariable2 && this.varMap.has(ref)) {
4913
- return this.resolveOp(this.varMap.get(ref));
4996
+ const opIndexOrNode = this.varMap.get(ref);
4997
+ return typeof opIndexOrNode === "number" ? this.resolveOp(opIndexOrNode) : opIndexOrNode;
4914
4998
  } else if (ref instanceof TmplAstTemplate2 && directive === void 0 && this.templateCtxOpMap.has(ref)) {
4915
4999
  return this.resolveOp(this.templateCtxOpMap.get(ref));
4916
5000
  } else if ((ref instanceof TmplAstElement3 || ref instanceof TmplAstTemplate2) && directive !== void 0 && this.directiveOpMap.has(ref)) {
@@ -4950,6 +5034,9 @@ var _Scope = class {
4950
5034
  if (node instanceof TmplAstElement3) {
4951
5035
  const opIndex = this.opQueue.push(new TcbElementOp(this.tcb, this, node)) - 1;
4952
5036
  this.elementOpMap.set(node, opIndex);
5037
+ if (this.tcb.env.config.controlFlowPreventingContentProjection !== "suppress") {
5038
+ this.appendContentProjectionCheckOp(node);
5039
+ }
4953
5040
  this.appendDirectivesAndInputsOfNode(node);
4954
5041
  this.appendOutputsOfNode(node);
4955
5042
  this.appendChildren(node);
@@ -5093,6 +5180,16 @@ var _Scope = class {
5093
5180
  }
5094
5181
  }
5095
5182
  }
5183
+ appendContentProjectionCheckOp(root) {
5184
+ var _a;
5185
+ const meta = ((_a = this.tcb.boundTarget.getDirectivesOfNode(root)) == null ? void 0 : _a.find((meta2) => meta2.isComponent)) || null;
5186
+ if (meta !== null && meta.ngContentSelectors !== null && meta.ngContentSelectors.length > 0) {
5187
+ const selectors = meta.ngContentSelectors;
5188
+ if (selectors.length > 1 || selectors.length === 1 && selectors[0] !== "*") {
5189
+ this.opQueue.push(new TcbControlFlowContentProjectionOp(this.tcb, root, selectors, meta.name));
5190
+ }
5191
+ }
5192
+ }
5096
5193
  appendDeferredBlock(block) {
5097
5194
  this.appendDeferredTriggers(block, block.triggers);
5098
5195
  this.appendDeferredTriggers(block, block.prefetchTriggers);
@@ -5378,7 +5475,7 @@ var TcbForLoopTrackTranslator = class extends TcbExpressionTranslator {
5378
5475
  }
5379
5476
  };
5380
5477
 
5381
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_file.mjs
5478
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_file.mjs
5382
5479
  import ts29 from "typescript";
5383
5480
  var TypeCheckFile = class extends Environment {
5384
5481
  constructor(fileName, config, refEmitter, reflector, compilerHost) {
@@ -5414,7 +5511,7 @@ var TypeCheckFile = class extends Environment {
5414
5511
  }
5415
5512
  };
5416
5513
 
5417
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
5514
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
5418
5515
  var InliningMode;
5419
5516
  (function(InliningMode2) {
5420
5517
  InliningMode2[InliningMode2["InlineOps"] = 0] = "InlineOps";
@@ -5436,7 +5533,7 @@ var TypeCheckContextImpl = class {
5436
5533
  throw new Error(`AssertionError: invalid inlining configuration.`);
5437
5534
  }
5438
5535
  }
5439
- addTemplate(ref, binder, template, pipes, schemas, sourceMapping, file, parseErrors, isStandalone) {
5536
+ addTemplate(ref, binder, template, pipes, schemas, sourceMapping, file, parseErrors, isStandalone, preserveWhitespaces) {
5440
5537
  if (!this.host.shouldCheckComponent(ref.node)) {
5441
5538
  return;
5442
5539
  }
@@ -5489,7 +5586,8 @@ var TypeCheckContextImpl = class {
5489
5586
  boundTarget,
5490
5587
  pipes,
5491
5588
  schemas,
5492
- isStandalone
5589
+ isStandalone,
5590
+ preserveWhitespaces
5493
5591
  };
5494
5592
  this.perf.eventCount(PerfEvent.GenerateTcb);
5495
5593
  if (inliningRequirement !== TcbInliningRequirement.None && this.inlining === InliningMode.InlineOps) {
@@ -5651,10 +5749,10 @@ function splitStringAtPoints(str, points) {
5651
5749
  return splits;
5652
5750
  }
5653
5751
 
5654
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
5752
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
5655
5753
  import { ParseLocation, ParseSourceSpan } from "@angular/compiler";
5656
5754
 
5657
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/line_mappings.mjs
5755
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/line_mappings.mjs
5658
5756
  var LF_CHAR = 10;
5659
5757
  var CR_CHAR = 13;
5660
5758
  var LINE_SEP_CHAR = 8232;
@@ -5695,7 +5793,7 @@ function findClosestLineStartPosition(linesMap, position, low = 0, high = linesM
5695
5793
  return low - 1;
5696
5794
  }
5697
5795
 
5698
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
5796
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
5699
5797
  var TemplateSource = class {
5700
5798
  constructor(mapping, file) {
5701
5799
  this.mapping = mapping;
@@ -5746,7 +5844,7 @@ var TemplateSourceManager = class {
5746
5844
  }
5747
5845
  };
5748
5846
 
5749
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_symbol_builder.mjs
5847
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_symbol_builder.mjs
5750
5848
  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";
5751
5849
  import ts31 from "typescript";
5752
5850
  var SymbolBuilder = class {
@@ -6230,7 +6328,7 @@ function sourceSpanEqual(a, b) {
6230
6328
  return a.start.offset === b.start.offset && a.end.offset === b.end.offset;
6231
6329
  }
6232
6330
 
6233
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
6331
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
6234
6332
  var REGISTRY2 = new DomElementSchemaRegistry2();
6235
6333
  var TemplateTypeCheckerImpl = class {
6236
6334
  constructor(originalProgram, programDriver, typeCheckAdapter, config, refEmitter, reflector, compilerHost, priorBuild, metaReader, localMetaReader, ngModuleIndex, componentScopeReader, typeCheckScopeRegistry, perf) {
@@ -6665,7 +6763,7 @@ var TemplateTypeCheckerImpl = class {
6665
6763
  if (directive.selector === null) {
6666
6764
  continue;
6667
6765
  }
6668
- for (const selector of CssSelector.parse(directive.selector)) {
6766
+ for (const selector of CssSelector2.parse(directive.selector)) {
6669
6767
  if (selector.element === null || tagMap.has(selector.element)) {
6670
6768
  continue;
6671
6769
  }
@@ -6927,10 +7025,10 @@ var SingleShimTypeCheckingHost = class extends SingleFileTypeCheckingHost {
6927
7025
  }
6928
7026
  };
6929
7027
 
6930
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/interpolated_signal_not_invoked/index.mjs
7028
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/interpolated_signal_not_invoked/index.mjs
6931
7029
  import { Interpolation, PropertyRead as PropertyRead6 } from "@angular/compiler";
6932
7030
 
6933
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.mjs
7031
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.mjs
6934
7032
  import { ASTWithSource as ASTWithSource4, RecursiveAstVisitor as RecursiveAstVisitor3, TmplAstBoundDeferredTrigger as TmplAstBoundDeferredTrigger2 } from "@angular/compiler";
6935
7033
  var TemplateCheckWithVisitor = class {
6936
7034
  run(ctx, component, template) {
@@ -7054,7 +7152,7 @@ var TemplateVisitor2 = class extends RecursiveAstVisitor3 {
7054
7152
  }
7055
7153
  };
7056
7154
 
7057
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/interpolated_signal_not_invoked/index.mjs
7155
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/interpolated_signal_not_invoked/index.mjs
7058
7156
  var InterpolatedSignalCheck = class extends TemplateCheckWithVisitor {
7059
7157
  constructor() {
7060
7158
  super(...arguments);
@@ -7089,7 +7187,7 @@ var factory = {
7089
7187
  create: () => new InterpolatedSignalCheck()
7090
7188
  };
7091
7189
 
7092
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.mjs
7190
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.mjs
7093
7191
  import { TmplAstBoundEvent as TmplAstBoundEvent2 } from "@angular/compiler";
7094
7192
  var InvalidBananaInBoxCheck = class extends TemplateCheckWithVisitor {
7095
7193
  constructor() {
@@ -7115,7 +7213,7 @@ var factory2 = {
7115
7213
  create: () => new InvalidBananaInBoxCheck()
7116
7214
  };
7117
7215
 
7118
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_control_flow_directive/index.mjs
7216
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_control_flow_directive/index.mjs
7119
7217
  import { TmplAstTemplate as TmplAstTemplate4 } from "@angular/compiler";
7120
7218
  var KNOWN_CONTROL_FLOW_DIRECTIVES = /* @__PURE__ */ new Map([
7121
7219
  ["ngIf", { directive: "NgIf", builtIn: "@if" }],
@@ -7160,7 +7258,7 @@ var factory3 = {
7160
7258
  }
7161
7259
  };
7162
7260
 
7163
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_ngforof_let/index.mjs
7261
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_ngforof_let/index.mjs
7164
7262
  import { TmplAstTemplate as TmplAstTemplate5 } from "@angular/compiler";
7165
7263
  var MissingNgForOfLetCheck = class extends TemplateCheckWithVisitor {
7166
7264
  constructor() {
@@ -7193,7 +7291,7 @@ var factory4 = {
7193
7291
  create: () => new MissingNgForOfLetCheck()
7194
7292
  };
7195
7293
 
7196
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.mjs
7294
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.mjs
7197
7295
  import { Binary } from "@angular/compiler";
7198
7296
  import ts32 from "typescript";
7199
7297
  var NullishCoalescingNotNullableCheck = class extends TemplateCheckWithVisitor {
@@ -7238,7 +7336,7 @@ var factory5 = {
7238
7336
  }
7239
7337
  };
7240
7338
 
7241
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/optional_chain_not_nullable/index.mjs
7339
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/optional_chain_not_nullable/index.mjs
7242
7340
  import { SafeCall as SafeCall2, SafeKeyedRead as SafeKeyedRead2, SafePropertyRead as SafePropertyRead5 } from "@angular/compiler";
7243
7341
  import ts33 from "typescript";
7244
7342
  var OptionalChainNotNullableCheck = class extends TemplateCheckWithVisitor {
@@ -7284,7 +7382,7 @@ var factory6 = {
7284
7382
  }
7285
7383
  };
7286
7384
 
7287
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/suffix_not_supported/index.mjs
7385
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/suffix_not_supported/index.mjs
7288
7386
  import { TmplAstBoundAttribute as TmplAstBoundAttribute3 } from "@angular/compiler";
7289
7387
  var STYLE_SUFFIXES = ["px", "%", "em"];
7290
7388
  var SuffixNotSupportedCheck = class extends TemplateCheckWithVisitor {
@@ -7308,7 +7406,7 @@ var factory7 = {
7308
7406
  create: () => new SuffixNotSupportedCheck()
7309
7407
  };
7310
7408
 
7311
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/text_attribute_not_binding/index.mjs
7409
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/text_attribute_not_binding/index.mjs
7312
7410
  import { TmplAstTextAttribute as TmplAstTextAttribute4 } from "@angular/compiler";
7313
7411
  var TextAttributeNotBindingSpec = class extends TemplateCheckWithVisitor {
7314
7412
  constructor() {
@@ -7347,10 +7445,10 @@ var factory8 = {
7347
7445
  create: () => new TextAttributeNotBindingSpec()
7348
7446
  };
7349
7447
 
7350
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
7448
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
7351
7449
  import ts34 from "typescript";
7352
7450
 
7353
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/api/src/public_options.mjs
7451
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/api/src/public_options.mjs
7354
7452
  var DiagnosticCategoryLabel;
7355
7453
  (function(DiagnosticCategoryLabel2) {
7356
7454
  DiagnosticCategoryLabel2["Warning"] = "warning";
@@ -7358,7 +7456,7 @@ var DiagnosticCategoryLabel;
7358
7456
  DiagnosticCategoryLabel2["Suppress"] = "suppress";
7359
7457
  })(DiagnosticCategoryLabel || (DiagnosticCategoryLabel = {}));
7360
7458
 
7361
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
7459
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
7362
7460
  var ExtendedTemplateCheckerImpl = class {
7363
7461
  constructor(templateTypeChecker, typeChecker, templateCheckFactories, options) {
7364
7462
  var _a, _b, _c, _d, _e;
@@ -7411,7 +7509,7 @@ function assertNever(value) {
7411
7509
  ${value}`);
7412
7510
  }
7413
7511
 
7414
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/index.mjs
7512
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/index.mjs
7415
7513
  var ALL_DIAGNOSTIC_FACTORIES = [
7416
7514
  factory2,
7417
7515
  factory5,
@@ -7422,8 +7520,12 @@ var ALL_DIAGNOSTIC_FACTORIES = [
7422
7520
  factory7,
7423
7521
  factory
7424
7522
  ];
7523
+ var SUPPORTED_DIAGNOSTIC_NAMES = /* @__PURE__ */ new Set([
7524
+ ExtendedTemplateDiagnosticName.CONTROL_FLOW_PREVENTING_CONTENT_PROJECTION,
7525
+ ...ALL_DIAGNOSTIC_FACTORIES.map((factory9) => factory9.name)
7526
+ ]);
7425
7527
 
7426
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
7528
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
7427
7529
  var CompilationTicketKind;
7428
7530
  (function(CompilationTicketKind2) {
7429
7531
  CompilationTicketKind2[CompilationTicketKind2["Fresh"] = 0] = "Fresh";
@@ -7757,6 +7859,7 @@ var NgCompiler = class {
7757
7859
  return strictTemplates || !!this.options.fullTemplateTypeCheck;
7758
7860
  }
7759
7861
  getTypeCheckingConfig() {
7862
+ var _a, _b, _c, _d;
7760
7863
  const strictTemplates = !!this.options.strictTemplates;
7761
7864
  const useInlineTypeConstructors = this.programDriver.supportsInlineOperations;
7762
7865
  let typeCheckingConfig;
@@ -7782,7 +7885,8 @@ var NgCompiler = class {
7782
7885
  strictLiteralTypes: true,
7783
7886
  enableTemplateTypeChecker: this.enableTemplateTypeChecker,
7784
7887
  useInlineTypeConstructors,
7785
- suggestionsForSuboptimalTypeInference: this.enableTemplateTypeChecker && !strictTemplates
7888
+ suggestionsForSuboptimalTypeInference: this.enableTemplateTypeChecker && !strictTemplates,
7889
+ controlFlowPreventingContentProjection: ((_a = this.options.extendedDiagnostics) == null ? void 0 : _a.defaultCategory) || DiagnosticCategoryLabel.Warning
7786
7890
  };
7787
7891
  } else {
7788
7892
  typeCheckingConfig = {
@@ -7806,7 +7910,8 @@ var NgCompiler = class {
7806
7910
  strictLiteralTypes: false,
7807
7911
  enableTemplateTypeChecker: this.enableTemplateTypeChecker,
7808
7912
  useInlineTypeConstructors,
7809
- suggestionsForSuboptimalTypeInference: false
7913
+ suggestionsForSuboptimalTypeInference: false,
7914
+ controlFlowPreventingContentProjection: ((_b = this.options.extendedDiagnostics) == null ? void 0 : _b.defaultCategory) || DiagnosticCategoryLabel.Warning
7810
7915
  };
7811
7916
  }
7812
7917
  if (this.options.strictInputTypes !== void 0) {
@@ -7841,6 +7946,9 @@ var NgCompiler = class {
7841
7946
  if (this.options.strictLiteralTypes !== void 0) {
7842
7947
  typeCheckingConfig.strictLiteralTypes = this.options.strictLiteralTypes;
7843
7948
  }
7949
+ if (((_d = (_c = this.options.extendedDiagnostics) == null ? void 0 : _c.checks) == null ? void 0 : _d.controlFlowPreventingContentProjection) !== void 0) {
7950
+ typeCheckingConfig.controlFlowPreventingContentProjection = this.options.extendedDiagnostics.checks.controlFlowPreventingContentProjection;
7951
+ }
7844
7952
  return typeCheckingConfig;
7845
7953
  }
7846
7954
  getTemplateDiagnostics() {
@@ -8099,9 +8207,8 @@ ${allowedCategoryLabels.join("\n")}
8099
8207
  `.trim()
8100
8208
  });
8101
8209
  }
8102
- const allExtendedDiagnosticNames = ALL_DIAGNOSTIC_FACTORIES.map((factory9) => factory9.name);
8103
8210
  for (const [checkName, category] of Object.entries((_c = (_b = options.extendedDiagnostics) == null ? void 0 : _b.checks) != null ? _c : {})) {
8104
- if (!allExtendedDiagnosticNames.includes(checkName)) {
8211
+ if (!SUPPORTED_DIAGNOSTIC_NAMES.has(checkName)) {
8105
8212
  yield makeConfigDiagnostic({
8106
8213
  category: ts35.DiagnosticCategory.Error,
8107
8214
  code: ErrorCode.CONFIG_EXTENDED_DIAGNOSTICS_UNKNOWN_CHECK,
@@ -8109,7 +8216,7 @@ ${allowedCategoryLabels.join("\n")}
8109
8216
  Angular compiler option "extendedDiagnostics.checks" has an unknown check: "${checkName}".
8110
8217
 
8111
8218
  Allowed check names are:
8112
- ${allExtendedDiagnosticNames.join("\n")}
8219
+ ${Array.from(SUPPORTED_DIAGNOSTIC_NAMES).join("\n")}
8113
8220
  `.trim()
8114
8221
  });
8115
8222
  }
@@ -8183,9 +8290,15 @@ function versionMapFromProgram(program, driver) {
8183
8290
  return versions;
8184
8291
  }
8185
8292
 
8186
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/host.mjs
8293
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/host.mjs
8187
8294
  import ts36 from "typescript";
8188
8295
  var DelegatingCompilerHost2 = class {
8296
+ get jsDocParsingMode() {
8297
+ return this.delegate.jsDocParsingMode;
8298
+ }
8299
+ set jsDocParsingMode(mode) {
8300
+ this.delegate.jsDocParsingMode = mode;
8301
+ }
8189
8302
  constructor(delegate) {
8190
8303
  this.delegate = delegate;
8191
8304
  this.createHash = this.delegateMethod("createHash");
@@ -8217,7 +8330,6 @@ var DelegatingCompilerHost2 = class {
8217
8330
  this.hasInvalidatedResolutions = this.delegateMethod("hasInvalidatedResolutions");
8218
8331
  this.resolveModuleNameLiterals = this.delegateMethod("resolveModuleNameLiterals");
8219
8332
  this.resolveTypeReferenceDirectiveReferences = this.delegateMethod("resolveTypeReferenceDirectiveReferences");
8220
- this.jsDocParsingMode = this.delegateMethod("jsDocParsingMode");
8221
8333
  }
8222
8334
  delegateMethod(name) {
8223
8335
  return this.delegate[name] !== void 0 ? this.delegate[name].bind(this.delegate) : void 0;
@@ -8288,12 +8400,12 @@ var NgCompilerHost = class extends DelegatingCompilerHost2 {
8288
8400
  isResource(sf) {
8289
8401
  return false;
8290
8402
  }
8291
- getSourceFile(fileName, languageVersion, onError, shouldCreateNewSourceFile) {
8403
+ getSourceFile(fileName, languageVersionOrOptions, onError, shouldCreateNewSourceFile) {
8292
8404
  const shimSf = this.shimAdapter.maybeGenerate(resolve(fileName));
8293
8405
  if (shimSf !== null) {
8294
8406
  return shimSf;
8295
8407
  }
8296
- const sf = this.delegate.getSourceFile(fileName, languageVersion, onError, shouldCreateNewSourceFile);
8408
+ const sf = this.delegate.getSourceFile(fileName, languageVersionOrOptions, onError, shouldCreateNewSourceFile);
8297
8409
  if (sf === void 0) {
8298
8410
  return void 0;
8299
8411
  }
@@ -8317,7 +8429,7 @@ var NgCompilerHost = class extends DelegatingCompilerHost2 {
8317
8429
  }
8318
8430
  };
8319
8431
 
8320
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
8432
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
8321
8433
  var NgtscProgram = class {
8322
8434
  constructor(rootNames, options, delegateHost, oldProgram) {
8323
8435
  this.options = options;
@@ -8544,15 +8656,15 @@ function mergeEmitResults(emitResults) {
8544
8656
  return { diagnostics, emitSkipped, emittedFiles };
8545
8657
  }
8546
8658
 
8547
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/program.mjs
8659
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/program.mjs
8548
8660
  function createProgram({ rootNames, options, host, oldProgram }) {
8549
8661
  return new NgtscProgram(rootNames, options, host, oldProgram);
8550
8662
  }
8551
8663
 
8552
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
8664
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
8553
8665
  import ts39 from "typescript";
8554
8666
 
8555
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/util.mjs
8667
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/util.mjs
8556
8668
  import ts38 from "typescript";
8557
8669
  function createMessageDiagnostic(messageText) {
8558
8670
  return {
@@ -8566,7 +8678,7 @@ function createMessageDiagnostic(messageText) {
8566
8678
  };
8567
8679
  }
8568
8680
 
8569
- // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
8681
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
8570
8682
  var defaultFormatHost = {
8571
8683
  getCurrentDirectory: () => ts39.sys.getCurrentDirectory(),
8572
8684
  getCanonicalFileName: (fileName) => fileName,
@@ -8779,4 +8891,4 @@ export {
8779
8891
  * Use of this source code is governed by an MIT-style license that can be
8780
8892
  * found in the LICENSE file at https://angular.io/license
8781
8893
  */
8782
- //# sourceMappingURL=chunk-MTZGVQDN.js.map
8894
+ //# sourceMappingURL=chunk-DV5CKGO6.js.map