diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2024-01-23 11:25:44 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-23 11:25:44 +0100 |
commit | e49973d96d6817378c71bf1875b03b77d083f1d3 (patch) | |
tree | f13543292de82ae92e127a137d6f9fc11ceb66b0 | |
parent | ec97c7dd4b5c1be83639769990ca6d37345089ca (diff) |
chore: update deno_ast and deno_graph (#22033)
This upgrade unblocks support for ES decorator proposal.
Co-authored-by: crowlkats <crowlkats@toaxl.com>
-rw-r--r-- | Cargo.lock | 52 | ||||
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | cli/Cargo.toml | 12 | ||||
-rw-r--r-- | cli/args/mod.rs | 4 | ||||
-rw-r--r-- | cli/tests/testdata/doc/lint_success_json.out | 6 | ||||
-rw-r--r-- | cli/tests/testdata/publish/invalid_fast_check.out | 4 | ||||
-rw-r--r-- | cli/tools/doc.rs | 41 | ||||
-rw-r--r-- | cli/tools/registry/graph.rs | 2 | ||||
-rw-r--r-- | cli/tools/repl/session.rs | 4 |
9 files changed, 65 insertions, 62 deletions
diff --git a/Cargo.lock b/Cargo.lock index 49168feb8..a83b51387 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1047,9 +1047,9 @@ dependencies = [ [[package]] name = "deno_ast" -version = "1.0.1" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d87c67f73e749f78096f517cbb57967d98a8c713b39cf88b1f0b8750a84aa29" +checksum = "6fa239d4d69bb6c61bd73e0fc23e3688c7e87e1f47f2f37f4cff7a0080017299" dependencies = [ "anyhow", "base64", @@ -1250,9 +1250,9 @@ dependencies = [ [[package]] name = "deno_doc" -version = "0.93.0" +version = "0.94.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4e7c393786c7a7e99dfb720b1b0fe0a9128072f2cf40edf8dac78c8f6bc93f" +checksum = "b325fd3ab5731c22b00979389065669617530c4976cb7fe533831a7adbbdf7a6" dependencies = [ "anyhow", "cfg-if", @@ -1282,9 +1282,9 @@ dependencies = [ [[package]] name = "deno_emit" -version = "0.33.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "480cde74f7e7937e74e43f71c0fa9af7c629387b3847eb4697505741842f0d02" +checksum = "b568ac3d8f6fba012d7cb0d9fc792bfd7ee0ed70e1dfc0784030aeada0a8b31d" dependencies = [ "anyhow", "base64", @@ -1352,9 +1352,9 @@ dependencies = [ [[package]] name = "deno_graph" -version = "0.63.4" +version = "0.63.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be751db3da720bcd35d42f9c0967a04cafd52d554d79262426d1c00179b0c085" +checksum = "81e4dafc06b0025d3a2920977a1e2ef87d8521d774ad9a167f5049cb31b76ccc" dependencies = [ "anyhow", "async-trait", @@ -1461,9 +1461,9 @@ dependencies = [ [[package]] name = "deno_lint" -version = "0.53.0" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6c91f26393905a81d960cf9473729660e5b5b889fa2712ba5405ac5a7598014" +checksum = "b328d3abd54ff84f99f016a378effd02056365e0734db5c5ac142f6dc9ad47ea" dependencies = [ "anyhow", "deno_ast", @@ -2124,9 +2124,9 @@ dependencies = [ [[package]] name = "dprint-plugin-typescript" -version = "0.88.8" +version = "0.88.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b16993dd982116fc2c429a1cce62e927fd4856708666c9cbd86cdbefd79dd97" +checksum = "ff4df63bcc9131ef68094ed468bf7b252e5771ed120545ea42983e99e411d467" dependencies = [ "anyhow", "deno_ast", @@ -2349,9 +2349,9 @@ dependencies = [ [[package]] name = "eszip" -version = "0.58.0" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "214f3a524473bb2c76385c02fdada6c2791ba5e07e9ac72a6c1e373d665b1680" +checksum = "c44cb502967cc1602a5a7ed1ae7022fc371f83ae709e95bfb9b510eb25d71a5a" dependencies = [ "anyhow", "base64", @@ -5649,9 +5649,9 @@ dependencies = [ [[package]] name = "swc_bundler" -version = "0.223.15" +version = "0.223.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e912d8387fc8592465c081b2e6b8df89443117ae4ca5160f21e08d47d7d58d7a" +checksum = "4d7530df85b1a56f6a879ca102dc59718db4bcd6bfff55fb8bb379fbeab6c88c" dependencies = [ "anyhow", "crc", @@ -5874,9 +5874,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_optimization" -version = "0.196.14" +version = "0.196.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eefef9f5a80afdbd4b517401dc053825d1ac0d95bb63f3ae92d2b335d8d7d4f8" +checksum = "fec185cf4d18e90b7c8b18b0d1f04a5707e6f4c7b57c1bfd5086392cd07b75a9" dependencies = [ "dashmap", "indexmap", @@ -5898,9 +5898,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_proposal" -version = "0.169.14" +version = "0.169.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86de99757fc31d8977f47c02a26e5c9a243cb63b03fe8aa8b36d79924b8fa29c" +checksum = "ed89d6ff74f60de490fb56e1cc505b057905e36c13d405d7d61dd5c9f6ee8fc9" dependencies = [ "either", "rustc-hash", @@ -5918,9 +5918,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "0.181.15" +version = "0.181.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9918e22caf1ea4a71085f5d818d6c0bf5c19d669cfb9d38f9fdc3da0496abdc7" +checksum = "e31a2f879fd21d18080b6c42e633e0ae8c6f3d54b83c1de876767d82b458c999" dependencies = [ "base64", "dashmap", @@ -5942,9 +5942,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_typescript" -version = "0.186.14" +version = "0.186.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d1495c969ffdc224384f1fb73646b9c1b170779f20fdb984518deb054aa522" +checksum = "3e4263372cc7cd1a3b4570ccf7438f3c1e1575f134fd05cdf074edb322480a5b" dependencies = [ "ryu-js", "serde", @@ -7051,7 +7051,7 @@ dependencies = [ "codespan-reporting", "log", "naga", - "parking_lot 0.12.1", + "parking_lot 0.11.2", "profiling", "raw-window-handle", "ron", @@ -7092,7 +7092,7 @@ dependencies = [ "naga", "objc", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.11.2", "profiling", "range-alloc", "raw-window-handle", diff --git a/Cargo.toml b/Cargo.toml index c2030b89f..748637089 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,7 +41,7 @@ license = "MIT" repository = "https://github.com/denoland/deno" [workspace.dependencies] -deno_ast = { version = "1.0.1", features = ["transpiling"] } +deno_ast = { version = "0.32.0", features = ["transpiling"] } deno_core = { version = "0.248.0" } deno_runtime = { version = "0.140.0", path = "./runtime" } diff --git a/cli/Cargo.toml b/cli/Cargo.toml index fc715f8fb..6fdf7c51a 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -57,16 +57,16 @@ deno_ast = { workspace = true, features = ["bundler", "cjs", "codegen", "dep_gra deno_cache_dir = "=0.6.1" deno_config = "=0.8.1" deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"] } -deno_doc = { version = "=0.93.0", features = ["html"] } -deno_emit = "=0.33.0" -deno_graph = "=0.63.4" -deno_lint = { version = "=0.53.0", features = ["docs"] } +deno_doc = { version = "=0.94.1", features = ["html"] } +deno_emit = "=0.34.0" +deno_graph = "=0.63.5" +deno_lint = { version = "=0.54.0", features = ["docs"] } deno_lockfile.workspace = true deno_npm = "=0.16.0" deno_runtime = { workspace = true, features = ["include_js_files_for_snapshotting"] } deno_semver = "=0.5.4" deno_task_shell = "=0.14.3" -eszip = "=0.58.0" +eszip = "=0.59.0" napi_sym.workspace = true async-trait.workspace = true @@ -88,7 +88,7 @@ dotenvy = "0.15.7" dprint-plugin-json = "=0.19.1" dprint-plugin-jupyter = "=0.1.2" dprint-plugin-markdown = "=0.16.3" -dprint-plugin-typescript = "=0.88.8" +dprint-plugin-typescript = "=0.88.10" encoding_rs.workspace = true env_logger = "=0.10.0" fancy-regex = "=0.10.0" diff --git a/cli/args/mod.rs b/cli/args/mod.rs index 6cf051dca..34448e633 100644 --- a/cli/args/mod.rs +++ b/cli/args/mod.rs @@ -158,6 +158,10 @@ pub fn ts_config_to_emit_options( _ => (false, false, false, false), }; deno_ast::EmitOptions { + // TODO(bartlomieju): change it to default to `false` and only enable + // if tsconfig.json enabled experimental decorators + use_ts_decorators: true, + use_decorators_proposal: false, emit_metadata: options.emit_decorator_metadata, imports_not_used_as_values, inline_source_map: options.inline_source_map, diff --git a/cli/tests/testdata/doc/lint_success_json.out b/cli/tests/testdata/doc/lint_success_json.out index bf06a15cd..050b2540c 100644 --- a/cli/tests/testdata/doc/lint_success_json.out +++ b/cli/tests/testdata/doc/lint_success_json.out @@ -5,7 +5,8 @@ "location": { "filename": "file:///[WILDCARD]/lint_success.ts", "line": 2, - "col": 0 + "col": 0, + "byteIndex": 22 }, "declarationKind": "export", "jsDoc": { @@ -33,7 +34,8 @@ "location": { "filename": "file:///[WILDCARD]/lint_success.ts", "line": 4, - "col": 2 + "col": 2, + "byteIndex": 66 } } ], diff --git a/cli/tests/testdata/publish/invalid_fast_check.out b/cli/tests/testdata/publish/invalid_fast_check.out index ed731c1d1..e34cfecdf 100644 --- a/cli/tests/testdata/publish/invalid_fast_check.out +++ b/cli/tests/testdata/publish/invalid_fast_check.out @@ -1,7 +1,7 @@ Checking fast check type graph for errors... -Missing explicit return type in the public API. - at file:///[WILDCARD]/publish/invalid_fast_check/mod.ts:2:17 +missing explicit return type in the public API + at file:///[WILDCARD]/publish/invalid_fast_check/mod.ts@68 Fixing these fast check errors is required to make the code fast check compatible which enables type checking your package's TypeScript code with the same performance as if you had distributed declaration files. Do any of these errors seem too restrictive or incorrect? Please open an issue if so to help us improve: https://github.com/denoland/deno/issues diff --git a/cli/tools/doc.rs b/cli/tools/doc.rs index 4321b3ce7..4a59ec986 100644 --- a/cli/tools/doc.rs +++ b/cli/tools/doc.rs @@ -146,12 +146,9 @@ pub async fn doc(flags: Flags, doc_flags: DocFlags) -> Result<(), AnyError> { .await?; let (_, deno_ns) = deno_ns.first().unwrap(); - let deno_ns_symbols = - deno_doc::html::compute_namespaced_symbols(deno_ns, &[]); - - Some(deno_ns_symbols) + deno_doc::html::compute_namespaced_symbols(deno_ns, &[]) } else { - None + Default::default() }; generate_docs_directory(&doc_nodes_by_url, html_options, deno_ns) @@ -178,15 +175,21 @@ pub async fn doc(flags: Flags, doc_flags: DocFlags) -> Result<(), AnyError> { } } -struct DocResolver {} +struct DocResolver { + deno_ns: std::collections::HashSet<Vec<String>>, +} impl deno_doc::html::HrefResolver for DocResolver { - fn resolve_global_symbol(&self, symbol: &[String], _context: &str) -> String { - format!( - "https://deno.land/api@{}?s={}", - env!("CARGO_PKG_VERSION"), - symbol.join(".") - ) + fn resolve_global_symbol(&self, symbol: &[String]) -> Option<String> { + if self.deno_ns.contains(symbol) { + Some(format!( + "https://deno.land/api@{}?s={}", + env!("CARGO_PKG_VERSION"), + symbol.join(".") + )) + } else { + None + } } fn resolve_import_href( @@ -220,7 +223,7 @@ impl deno_doc::html::HrefResolver for DocResolver { async fn generate_docs_directory( doc_nodes_by_url: &IndexMap<ModuleSpecifier, Vec<doc::DocNode>>, html_options: &DocHtmlFlag, - deno_ns: Option<std::collections::HashSet<Vec<String>>>, + deno_ns: std::collections::HashSet<Vec<String>>, ) -> Result<(), AnyError> { let cwd = std::env::current_dir().context("Failed to get CWD")?; let output_dir_resolved = cwd.join(&html_options.output); @@ -228,19 +231,9 @@ async fn generate_docs_directory( let options = deno_doc::html::GenerateOptions { package_name: Some(html_options.name.to_owned()), main_entrypoint: None, - global_symbols: deno_doc::html::NamespacedGlobalSymbols::new( - deno_ns - .map(|deno_ns| { - deno_ns - .into_iter() - .map(|symbol| (symbol, "deno".to_string())) - .collect() - }) - .unwrap_or_default(), - ), rewrite_map: None, hide_module_doc_title: false, - href_resolver: Rc::new(DocResolver {}), + href_resolver: Rc::new(DocResolver { deno_ns }), sidebar_flatten_namespaces: false, }; diff --git a/cli/tools/registry/graph.rs b/cli/tools/registry/graph.rs index 04b37508c..b64350887 100644 --- a/cli/tools/registry/graph.rs +++ b/cli/tools/registry/graph.rs @@ -103,7 +103,7 @@ pub fn surface_fast_check_type_graph_errors( ); break 'analyze_package; // no need to keep analyzing this package } else { - let message = diagnostic.message_with_range(); + let message = diagnostic.message_with_range_for_test(); if !seen_diagnostics.insert(message.clone()) { continue; } diff --git a/cli/tools/repl/session.rs b/cli/tools/repl/session.rs index 696f5c065..3da862e7d 100644 --- a/cli/tools/repl/session.rs +++ b/cli/tools/repl/session.rs @@ -596,6 +596,10 @@ impl ReplSession { let transpiled_src = parsed_source .transpile(&deno_ast::EmitOptions { + // TODO(bartlomieju): change it to default to `false` and only enable + // if tsconfig.json enabled experimental decorators + use_ts_decorators: true, + use_decorators_proposal: false, emit_metadata: false, source_map: false, inline_source_map: false, |