summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/Cargo.toml12
-rw-r--r--cli/ast/mod.rs27
-rw-r--r--cli/lsp/analysis.rs40
-rw-r--r--cli/module_graph.rs5
4 files changed, 42 insertions, 42 deletions
diff --git a/cli/Cargo.toml b/cli/Cargo.toml
index 7c38f19fb..8a53e4389 100644
--- a/cli/Cargo.toml
+++ b/cli/Cargo.toml
@@ -43,8 +43,8 @@ winres = "0.1.11"
[dependencies]
deno_core = { version = "0.93.0", path = "../core" }
-deno_doc = "0.8.0"
-deno_lint = "0.10.0"
+deno_doc = "0.9.0"
+deno_lint = "0.11.0"
deno_runtime = { version = "0.19.0", path = "../runtime" }
atty = "0.2.14"
@@ -55,7 +55,7 @@ data-url = "0.1.0"
dissimilar = "1.0.2"
dprint-plugin-json = "0.12.1"
dprint-plugin-markdown = "0.9.2"
-dprint-plugin-typescript = "0.48.0"
+dprint-plugin-typescript = "0.49.0"
encoding_rs = "0.8.28"
env_logger = "0.8.4"
fancy-regex = "0.5.0"
@@ -81,9 +81,9 @@ semver-parser = "0.10.2"
serde = { version = "1.0.126", features = ["derive"] }
shell-escape = "0.1.5"
sourcemap = "6.0.1"
-swc_bundler = "0.45.0"
-swc_common = { version = "0.10.23", features = ["sourcemap"] }
-swc_ecmascript = { version = "0.45.0", features = ["codegen", "dep_graph", "parser", "proposal", "react", "transforms", "typescript", "visit"] }
+swc_bundler = "0.46.0"
+swc_common = { version = "0.11.0", features = ["sourcemap"] }
+swc_ecmascript = { version = "0.46.0", features = ["codegen", "dep_graph", "parser", "proposal", "react", "transforms", "typescript", "visit"] }
tempfile = "3.2.0"
termcolor = "1.1.2"
text-size = "1.1.0"
diff --git a/cli/ast/mod.rs b/cli/ast/mod.rs
index 25a9321bc..7b49bbedb 100644
--- a/cli/ast/mod.rs
+++ b/cli/ast/mod.rs
@@ -259,7 +259,7 @@ impl fmt::Debug for ParsedModule {
impl ParsedModule {
/// Return a vector of dependencies for the module.
pub fn analyze_dependencies(&self) -> Vec<DependencyDescriptor> {
- analyze_dependencies(&self.module, &self.source_map, &self.comments)
+ analyze_dependencies(&self.module, &self.comments)
}
/// Get the module's leading comments, where triple slash directives might
@@ -595,14 +595,13 @@ impl swc_bundler::Hook for BundleHook {
mod tests {
use super::*;
use std::collections::HashMap;
+ use swc_common::BytePos;
use swc_ecmascript::dep_graph::DependencyKind;
#[test]
fn test_parsed_module_analyze_dependencies() {
let specifier = resolve_url_or_path("https://deno.land/x/mod.js").unwrap();
- let source = r#"import * as bar from "./test.ts";
- const foo = await import("./foo.ts");
- "#;
+ let source = "import * as bar from './test.ts';\nconst foo = await import('./foo.ts');";
let parsed_module =
parse(specifier.as_str(), source, &MediaType::JavaScript)
.expect("could not parse module");
@@ -614,22 +613,26 @@ mod tests {
kind: DependencyKind::Import,
is_dynamic: false,
leading_comments: Vec::new(),
- col: 0,
- line: 1,
+ span: Span::new(BytePos(0), BytePos(33), Default::default()),
specifier: "./test.ts".into(),
- specifier_col: 21,
- specifier_line: 1,
+ specifier_span: Span::new(
+ BytePos(21),
+ BytePos(32),
+ Default::default()
+ ),
import_assertions: HashMap::default(),
},
DependencyDescriptor {
kind: DependencyKind::Import,
is_dynamic: true,
leading_comments: Vec::new(),
- col: 22,
- line: 2,
+ span: Span::new(BytePos(52), BytePos(70), Default::default()),
specifier: "./foo.ts".into(),
- specifier_col: 29,
- specifier_line: 2,
+ specifier_span: Span::new(
+ BytePos(59),
+ BytePos(69),
+ Default::default()
+ ),
import_assertions: HashMap::default(),
}
]
diff --git a/cli/lsp/analysis.rs b/cli/lsp/analysis.rs
index a1d6d909d..9994f147b 100644
--- a/cli/lsp/analysis.rs
+++ b/cli/lsp/analysis.rs
@@ -377,34 +377,30 @@ pub fn analyze_dependencies(
let dep = dependencies.entry(desc.specifier.to_string()).or_default();
dep.is_dynamic = desc.is_dynamic;
+ let start = parsed_module
+ .source_map
+ .lookup_char_pos(desc.specifier_span.lo);
+ let end = parsed_module
+ .source_map
+ .lookup_char_pos(desc.specifier_span.hi);
+ let range = Range {
+ start: Position {
+ line: (start.line - 1) as u32,
+ character: start.col_display as u32,
+ },
+ end: Position {
+ line: (end.line - 1) as u32,
+ character: end.col_display as u32,
+ },
+ };
match desc.kind {
swc_ecmascript::dep_graph::DependencyKind::ExportType
| swc_ecmascript::dep_graph::DependencyKind::ImportType => {
- dep.maybe_type_specifier_range = Some(Range {
- start: Position {
- line: (desc.specifier_line - 1) as u32,
- character: desc.specifier_col as u32,
- },
- end: Position {
- line: (desc.specifier_line - 1) as u32,
- character: (desc.specifier_col + desc.specifier.chars().count() + 2)
- as u32,
- },
- });
+ dep.maybe_type_specifier_range = Some(range);
dep.maybe_type = Some(resolved_import)
}
_ => {
- dep.maybe_code_specifier_range = Some(Range {
- start: Position {
- line: (desc.specifier_line - 1) as u32,
- character: desc.specifier_col as u32,
- },
- end: Position {
- line: (desc.specifier_line - 1) as u32,
- character: (desc.specifier_col + desc.specifier.chars().count() + 2)
- as u32,
- },
- });
+ dep.maybe_code_specifier_range = Some(range);
dep.maybe_code = Some(resolved_import);
}
}
diff --git a/cli/module_graph.rs b/cli/module_graph.rs
index 8ec439a8e..8689072f0 100644
--- a/cli/module_graph.rs
+++ b/cli/module_graph.rs
@@ -386,10 +386,11 @@ impl Module {
for desc in dependencies.iter().filter(|desc| {
desc.kind != swc_ecmascript::dep_graph::DependencyKind::Require
}) {
+ let loc = parsed_module.source_map.lookup_char_pos(desc.span.lo);
let location = Location {
filename: self.specifier.to_string(),
- col: desc.col,
- line: desc.line,
+ col: loc.col_display,
+ line: loc.line,
};
// In situations where there is a potential issue with resolving the