@angular/compiler-cli 19.0.0-next.10 → 19.0.0-next.11

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.
@@ -4,7 +4,7 @@
4
4
 
5
5
  import {
6
6
  angularJitApplicationTransform
7
- } from "./chunk-WO73PLUB.js";
7
+ } from "./chunk-TFIXU576.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-Q4DA5WRV.js";
54
+ } from "./chunk-GVXGZHIM.js";
55
55
  import {
56
56
  AbsoluteModuleStrategy,
57
57
  AliasStrategy,
@@ -4925,4 +4925,4 @@ export {
4925
4925
  * Use of this source code is governed by an MIT-style license that can be
4926
4926
  * found in the LICENSE file at https://angular.dev/license
4927
4927
  */
4928
- //# sourceMappingURL=chunk-5AXLJZ3D.js.map
4928
+ //# sourceMappingURL=chunk-2KSGTNY4.js.map
@@ -4074,6 +4074,7 @@ function makeUnknownComponentDeferredImportDiagnostic(ref, rawExpr) {
4074
4074
  }
4075
4075
 
4076
4076
  // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/local.mjs
4077
+ var IN_PROGRESS_RESOLUTION = {};
4077
4078
  var LocalModuleScopeRegistry = class {
4078
4079
  constructor(localReader, fullReader, dependencyScopeReader, refEmitter, aliasingHost) {
4079
4080
  this.localReader = localReader;
@@ -4146,8 +4147,12 @@ var LocalModuleScopeRegistry = class {
4146
4147
  }
4147
4148
  getScopeOfModuleReference(ref) {
4148
4149
  if (this.cache.has(ref.node)) {
4149
- return this.cache.get(ref.node);
4150
+ const cachedValue = this.cache.get(ref.node);
4151
+ if (cachedValue !== IN_PROGRESS_RESOLUTION) {
4152
+ return cachedValue;
4153
+ }
4150
4154
  }
4155
+ this.cache.set(ref.node, IN_PROGRESS_RESOLUTION);
4151
4156
  this.sealed = true;
4152
4157
  const ngModule = this.localReader.getNgModuleMetadata(ref);
4153
4158
  if (ngModule === null) {
@@ -4167,10 +4172,12 @@ var LocalModuleScopeRegistry = class {
4167
4172
  for (const decl of ngModule.imports) {
4168
4173
  const importScope = this.getExportedScope(decl, diagnostics, ref.node, "import");
4169
4174
  if (importScope !== null) {
4170
- if (importScope === "invalid" || importScope.exported.isPoisoned) {
4171
- diagnostics.push(invalidTransitiveNgModuleRef(decl, ngModule.rawImports, "import"));
4175
+ if (importScope === "invalid" || importScope === "cycle" || importScope.exported.isPoisoned) {
4172
4176
  isPoisoned = true;
4173
- if (importScope === "invalid") {
4177
+ if (importScope !== "cycle") {
4178
+ diagnostics.push(invalidTransitiveNgModuleRef(decl, ngModule.rawImports, "import"));
4179
+ }
4180
+ if (importScope === "invalid" || importScope === "cycle") {
4174
4181
  continue;
4175
4182
  }
4176
4183
  }
@@ -4237,10 +4244,12 @@ var LocalModuleScopeRegistry = class {
4237
4244
  }
4238
4245
  for (const decl of ngModule.exports) {
4239
4246
  const exportScope = this.getExportedScope(decl, diagnostics, ref.node, "export");
4240
- if (exportScope === "invalid" || exportScope !== null && exportScope.exported.isPoisoned) {
4241
- diagnostics.push(invalidTransitiveNgModuleRef(decl, ngModule.rawExports, "export"));
4247
+ if (exportScope === "invalid" || exportScope === "cycle" || exportScope !== null && exportScope.exported.isPoisoned) {
4242
4248
  isPoisoned = true;
4243
- if (exportScope === "invalid") {
4249
+ if (exportScope !== "cycle") {
4250
+ diagnostics.push(invalidTransitiveNgModuleRef(decl, ngModule.rawExports, "export"));
4251
+ }
4252
+ if (exportScope === "invalid" || exportScope === "cycle") {
4244
4253
  continue;
4245
4254
  }
4246
4255
  } else if (exportScope !== null) {
@@ -4308,6 +4317,10 @@ var LocalModuleScopeRegistry = class {
4308
4317
  }
4309
4318
  return this.dependencyScopeReader.resolve(ref);
4310
4319
  } else {
4320
+ if (this.cache.get(ref.node) === IN_PROGRESS_RESOLUTION) {
4321
+ diagnostics.push(makeDiagnostic(type === "import" ? ErrorCode.NGMODULE_INVALID_IMPORT : ErrorCode.NGMODULE_INVALID_EXPORT, identifierOfNode(ref.node) || ref.node, `NgModule "${type}" field contains a cycle`));
4322
+ return "cycle";
4323
+ }
4311
4324
  return this.getScopeOfModuleReference(ref);
4312
4325
  }
4313
4326
  }
@@ -15029,4 +15042,4 @@ export {
15029
15042
  * Use of this source code is governed by an MIT-style license that can be
15030
15043
  * found in the LICENSE file at https://angular.io/license
15031
15044
  */
15032
- //# sourceMappingURL=chunk-Q4DA5WRV.js.map
15045
+ //# sourceMappingURL=chunk-GVXGZHIM.js.map