diff --git a/src/lib.rs b/src/lib.rs index b610ed06..0ec572c2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1490,9 +1490,13 @@ impl ResolverGeneric { &tsconfig_options.references, ) .await?; - for dependency in &tsconfig.file_dependencies { - ctx.add_file_dependency(dependency.as_path()); - } + // TODO: restore once these can be reported without costing `module count * tsconfig count`. + // Temporarily disabled: a monorepo with project references bursts memory in the consumer, + // which keeps this set per module. Trade-off: tsconfig edits won't invalidate watch builds. + // See `tsconfig_file_as_file_dependencies`, ignored for now. + // for dependency in &tsconfig.file_dependencies { + // ctx.add_file_dependency(dependency.as_path()); + // } let paths = tsconfig.resolve(cached_path.path(), specifier); for path in paths { let cached_path = self.cache.value(&path); diff --git a/src/tests/tsconfig_project_references.rs b/src/tests/tsconfig_project_references.rs index 6ea71e73..95b3c9cc 100644 --- a/src/tests/tsconfig_project_references.rs +++ b/src/tests/tsconfig_project_references.rs @@ -45,6 +45,8 @@ async fn auto() { } #[tokio::test] +#[ignore = "temporary workaround: tsconfig and its references are no longer reported as file dependencies, \ + because a monorepo with many project references bursts memory in the consumer"] async fn tsconfig_file_as_file_dependencies() { let f = super::fixture_root().join("tsconfig/cases/project_references");