summaryrefslogtreecommitdiff
path: root/cli/tools/registry/graph.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tools/registry/graph.rs')
-rw-r--r--cli/tools/registry/graph.rs117
1 files changed, 0 insertions, 117 deletions
diff --git a/cli/tools/registry/graph.rs b/cli/tools/registry/graph.rs
index 3445d55e7..0310a97c6 100644
--- a/cli/tools/registry/graph.rs
+++ b/cli/tools/registry/graph.rs
@@ -1,17 +1,9 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
use std::collections::HashSet;
-use std::collections::VecDeque;
use std::sync::Arc;
-use deno_ast::ModuleSpecifier;
use deno_ast::SourceTextInfo;
-use deno_config::ConfigFile;
-use deno_config::WorkspaceConfig;
-use deno_core::anyhow::bail;
-use deno_core::anyhow::Context;
-use deno_core::error::AnyError;
-use deno_graph::FastCheckDiagnostic;
use deno_graph::ModuleEntryRef;
use deno_graph::ModuleGraph;
use deno_graph::ResolutionResolved;
@@ -21,55 +13,6 @@ use lsp_types::Url;
use super::diagnostics::PublishDiagnostic;
use super::diagnostics::PublishDiagnosticsCollector;
-#[derive(Debug)]
-pub struct MemberRoots {
- pub name: String,
- pub dir_url: ModuleSpecifier,
- pub exports: Vec<ModuleSpecifier>,
-}
-
-pub fn get_workspace_member_roots(
- config: &WorkspaceConfig,
-) -> Result<Vec<MemberRoots>, AnyError> {
- let mut members = Vec::with_capacity(config.members.len());
- let mut seen_names = HashSet::with_capacity(config.members.len());
- for member in &config.members {
- if !seen_names.insert(&member.package_name) {
- bail!(
- "Cannot have two workspace packages with the same name ('{}' at {})",
- member.package_name,
- member.path.display(),
- );
- }
- members.push(MemberRoots {
- name: member.package_name.clone(),
- dir_url: member.config_file.specifier.join("./").unwrap().clone(),
- exports: resolve_config_file_roots_from_exports(&member.config_file)?,
- });
- }
- Ok(members)
-}
-
-pub fn resolve_config_file_roots_from_exports(
- config_file: &ConfigFile,
-) -> Result<Vec<ModuleSpecifier>, AnyError> {
- let exports_config = config_file
- .to_exports_config()
- .with_context(|| {
- format!("Failed to parse exports at {}", config_file.specifier)
- })?
- .into_map();
- let mut exports = Vec::with_capacity(exports_config.len());
- for (_, value) in exports_config {
- let entry_point =
- config_file.specifier.join(&value).with_context(|| {
- format!("Failed to join {} with {}", config_file.specifier, value)
- })?;
- exports.push(entry_point);
- }
- Ok(exports)
-}
-
pub fn collect_invalid_external_imports(
graph: &ModuleGraph,
diagnostics_collector: &PublishDiagnosticsCollector,
@@ -142,63 +85,3 @@ pub fn collect_invalid_external_imports(
}
}
}
-
-/// Collects diagnostics from the module graph for the given packages.
-/// Returns true if any diagnostics were collected.
-pub fn collect_fast_check_type_graph_diagnostics(
- graph: &ModuleGraph,
- packages: &[MemberRoots],
- diagnostics_collector: &PublishDiagnosticsCollector,
-) -> bool {
- let mut had_diagnostic = false;
- let mut seen_modules = HashSet::with_capacity(graph.specifiers_count());
- for package in packages {
- let mut pending = VecDeque::new();
- for export in &package.exports {
- if seen_modules.insert(export.clone()) {
- pending.push_back(export.clone());
- }
- }
-
- 'analyze_package: while let Some(specifier) = pending.pop_front() {
- let Ok(Some(module)) = graph.try_get_prefer_types(&specifier) else {
- continue;
- };
- let Some(es_module) = module.js() else {
- continue;
- };
- if let Some(diagnostics) = es_module.fast_check_diagnostics() {
- for diagnostic in diagnostics {
- had_diagnostic = true;
- diagnostics_collector
- .push(PublishDiagnostic::FastCheck(diagnostic.clone()));
- if matches!(
- diagnostic,
- FastCheckDiagnostic::UnsupportedJavaScriptEntrypoint { .. }
- ) {
- break 'analyze_package; // no need to keep analyzing this package
- }
- }
- }
-
- // analyze the next dependencies
- for dep in es_module.dependencies_prefer_fast_check().values() {
- let Some(specifier) = graph.resolve_dependency_from_dep(dep, true)
- else {
- continue;
- };
-
- let dep_in_same_package =
- specifier.as_str().starts_with(package.dir_url.as_str());
- if dep_in_same_package {
- let is_new = seen_modules.insert(specifier.clone());
- if is_new {
- pending.push_back(specifier.clone());
- }
- }
- }
- }
- }
-
- had_diagnostic
-}