Skip to content

Commit 550514c

Browse files
authored
refactor: upgrade to deno_ast 0.33 (#374)
1 parent 2e070a6 commit 550514c

14 files changed

+481
-329
lines changed

Cargo.lock

+141-43
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ symbols = ["deno_ast/transforms", "deno_ast/visit", "deno_ast/utils"]
2727
anyhow = "1.0.43"
2828
async-trait = "0.1.68"
2929
data-url = "0.3.0"
30-
deno_ast = { version = "0.32.0", features = ["dep_analysis", "module_specifier"] }
30+
deno_ast = { version = "0.33.1", features = ["dep_analysis"] }
3131
deno_semver = "0.5.4"
3232
encoding_rs = "0.8.33"
3333
futures = "0.3.26"

lib/Cargo.toml

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,13 @@ crate-type = ["cdylib"]
1717
anyhow = "1.0.43"
1818
console_error_panic_hook = "0.1.7"
1919
deno_graph = { path = "../" }
20+
getrandom = { version = "*", features = ["js"] }
2021
futures = "0.3.17"
2122
js-sys = "0.3.63"
2223
serde = { version = "1.0.130", features = ["derive", "rc"] }
2324
serde_json = { version = "1.0.67", features = ["preserve_order"] }
2425
serde-wasm-bindgen = "0.5.0"
25-
wasm-bindgen = { version = "=0.2.87", features = ["serde-serialize"] }
26+
wasm-bindgen = { version = "=0.2.87" }
2627
wasm-bindgen-futures = { version = "=0.4.37" }
2728

2829
[dev-dependencies]

rust-toolchain.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[toolchain]
2-
channel = "1.73.0"
2+
channel = "1.75.0"
33
components = [ "clippy", "rustfmt" ]

src/analyzer.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ use std::sync::Arc;
44

55
use deno_ast::dep::DependencyKind;
66
use deno_ast::dep::ImportAttributes;
7-
use deno_ast::Diagnostic;
87
use deno_ast::MediaType;
98
use deno_ast::ModuleSpecifier;
9+
use deno_ast::ParseDiagnostic;
1010
use deno_ast::SourceRange;
1111
use deno_ast::SourceTextInfo;
1212
use once_cell::sync::Lazy;
@@ -322,7 +322,7 @@ pub trait ModuleAnalyzer {
322322
specifier: &ModuleSpecifier,
323323
source: Arc<str>,
324324
media_type: MediaType,
325-
) -> Result<ModuleInfo, Diagnostic>;
325+
) -> Result<ModuleInfo, ParseDiagnostic>;
326326
}
327327

328328
#[cfg(test)]

src/ast.rs

+9-8
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ use deno_ast::SourcePos;
1919
use deno_ast::SourceRangedForSpanned;
2020

2121
use deno_ast::swc::common::comments::CommentKind;
22-
use deno_ast::Diagnostic;
2322
use deno_ast::MediaType;
23+
use deno_ast::ParseDiagnostic;
2424
use deno_ast::ParsedSource;
2525
use deno_ast::SourceTextInfo;
2626
use once_cell::sync::Lazy;
@@ -50,6 +50,7 @@ static TYPES_REFERENCE_RE: Lazy<Regex> =
5050
Lazy::new(|| Regex::new(r#"(?i)\stypes\s*=\s*["']([^"']*)["']"#).unwrap());
5151

5252
pub struct ParseOptions<'a> {
53+
// this is not cloned in lazy parsing scenarios (thus the reference)
5354
pub specifier: &'a ModuleSpecifier,
5455
pub source: Arc<str>,
5556
pub media_type: MediaType,
@@ -61,7 +62,7 @@ pub trait ModuleParser {
6162
fn parse_module(
6263
&self,
6364
options: ParseOptions,
64-
) -> Result<ParsedSource, Diagnostic>;
65+
) -> Result<ParsedSource, ParseDiagnostic>;
6566
}
6667

6768
#[derive(Default, Clone)]
@@ -71,9 +72,9 @@ impl ModuleParser for DefaultModuleParser {
7172
fn parse_module(
7273
&self,
7374
options: ParseOptions,
74-
) -> Result<ParsedSource, Diagnostic> {
75+
) -> Result<ParsedSource, ParseDiagnostic> {
7576
deno_ast::parse_module(deno_ast::ParseParams {
76-
specifier: options.specifier.to_string(),
77+
specifier: options.specifier.clone(),
7778
text_info: SourceTextInfo::new(options.source),
7879
media_type: options.media_type,
7980
capture_tokens: options.scope_analysis,
@@ -192,7 +193,7 @@ impl<'a> ModuleParser for CapturingModuleParser<'a> {
192193
fn parse_module(
193194
&self,
194195
options: ParseOptions,
195-
) -> Result<ParsedSource, Diagnostic> {
196+
) -> Result<ParsedSource, ParseDiagnostic> {
196197
if let Some(parsed_source) = self.get_from_store_if_matches(&options) {
197198
Ok(parsed_source)
198199
} else {
@@ -260,7 +261,7 @@ impl<'a> ModuleAnalyzer for DefaultModuleAnalyzer<'a> {
260261
specifier: &deno_ast::ModuleSpecifier,
261262
source: Arc<str>,
262263
media_type: MediaType,
263-
) -> Result<ModuleInfo, Diagnostic> {
264+
) -> Result<ModuleInfo, ParseDiagnostic> {
264265
let default_parser = DefaultModuleParser;
265266
let parser = self.parser.unwrap_or(&default_parser);
266267
let parsed_source = parser.parse_module(ParseOptions {
@@ -312,7 +313,7 @@ impl ModuleAnalyzer for CapturingModuleAnalyzer {
312313
specifier: &deno_ast::ModuleSpecifier,
313314
source: Arc<str>,
314315
media_type: MediaType,
315-
) -> Result<ModuleInfo, Diagnostic> {
316+
) -> Result<ModuleInfo, ParseDiagnostic> {
316317
let capturing_parser = self.as_capturing_parser();
317318
let module_analyzer = DefaultModuleAnalyzer::new(&capturing_parser);
318319
module_analyzer.analyze(specifier, source, media_type)
@@ -323,7 +324,7 @@ impl ModuleParser for CapturingModuleAnalyzer {
323324
fn parse_module(
324325
&self,
325326
options: ParseOptions,
326-
) -> Result<ParsedSource, Diagnostic> {
327+
) -> Result<ParsedSource, ParseDiagnostic> {
327328
let capturing_parser = self.as_capturing_parser();
328329
capturing_parser.parse_module(options)
329330
}

0 commit comments

Comments
 (0)