From d43cc4f553d8207c164c6f696209668e4855213a Mon Sep 17 00:00:00 2001 From: David Sherret Date: Fri, 13 Jun 2025 10:33:27 -0400 Subject: [PATCH 1/5] fix: resolve npm exports not in the module graph --- .gitignore | 1 - .vscode/settings.json | 12 ++++++++++++ deno | 2 +- src/rs_lib/Cargo.lock | 22 +++++++++++----------- src/rs_lib/Cargo.toml | 4 ++-- tests/jsx/main.test.ts | 5 +++++ 6 files changed, 31 insertions(+), 15 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.gitignore b/.gitignore index 353bdf2..dd70695 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ -.vscode target src/lib diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..b2deb72 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,12 @@ +{ + "[rust]": { + "editor.defaultFormatter": "rust-lang.rust-analyzer", + "editor.formatOnSave": true + }, + // generally I wouldn't commit this file to source control, but + // this setting is necessary in order to get this repo working + // in vscode + "rust-analyzer.linkedProjects": [ + "./src/rs_lib/Cargo.toml" + ] +} diff --git a/deno b/deno index 28c62ff..3d5ff3c 160000 --- a/deno +++ b/deno @@ -1 +1 @@ -Subproject commit 28c62ff31b2d5e114ca0b83e36ab007ef8faeb48 +Subproject commit 3d5ff3cf1c4f4059a100be1d00956ff805d032c9 diff --git a/src/rs_lib/Cargo.lock b/src/rs_lib/Cargo.lock index 8ff42ea..abbe834 100644 --- a/src/rs_lib/Cargo.lock +++ b/src/rs_lib/Cargo.lock @@ -496,9 +496,9 @@ dependencies = [ [[package]] name = "deno_config" -version = "0.56.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3949619345af4e06c803af7a4347083104651f67e6313810f09a15c0798a72c" +checksum = "cede8eaf636037d9f3d9206eeecb0bdcea042810da5eb00be74ecb0d17b95acc" dependencies = [ "boxed_error", "capacity_builder", @@ -627,7 +627,7 @@ dependencies = [ [[package]] name = "deno_npm_cache" -version = "0.25.0" +version = "0.26.0" dependencies = [ "async-trait", "base64 0.22.1", @@ -656,7 +656,7 @@ dependencies = [ [[package]] name = "deno_npm_installer" -version = "0.1.0" +version = "0.2.0" dependencies = [ "anyhow", "async-once-cell", @@ -694,9 +694,9 @@ dependencies = [ [[package]] name = "deno_package_json" -version = "0.7.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77aee446076be3e2ed9e175b77f423cb20d5d7e1080338f4c77b0b4d290599da" +checksum = "fc681ccdd5319c96bdacdd6d6b1a1e1272829fa10687120eba1d2a0c336d77f7" dependencies = [ "boxed_error", "deno_error", @@ -725,7 +725,7 @@ dependencies = [ [[package]] name = "deno_permissions" -version = "0.65.0" +version = "0.66.0" dependencies = [ "capacity_builder", "deno_error", @@ -751,7 +751,7 @@ dependencies = [ [[package]] name = "deno_resolver" -version = "0.37.0" +version = "0.38.0" dependencies = [ "anyhow", "async-once-cell", @@ -792,9 +792,9 @@ dependencies = [ [[package]] name = "deno_semver" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2d807160e754edb1989b4a19cac1ac5299065a7a89ff98682a2366cbaa25795" +checksum = "5a7123b11b66cf19e023372bfcb137498243ef32dd73c725b938c118ac9943f5" dependencies = [ "capacity_builder", "deno_error", @@ -1542,7 +1542,7 @@ dependencies = [ [[package]] name = "node_resolver" -version = "0.44.0" +version = "0.45.0" dependencies = [ "anyhow", "async-trait", diff --git a/src/rs_lib/Cargo.toml b/src/rs_lib/Cargo.toml index 4ec952e..436d119 100644 --- a/src/rs_lib/Cargo.toml +++ b/src/rs_lib/Cargo.toml @@ -19,7 +19,7 @@ wasm-bindgen-futures = "=0.4.50" async-trait = "0.1.73" deno_error = "=0.6.1" deno_path_util = "=0.4.0" -deno_semver = "=0.8.0" +deno_semver = "=0.8.1" url = "2.5" [dependencies.deno_ast] @@ -31,7 +31,7 @@ version = "=0.22.2" features = ["sync"] [dependencies.deno_config] -version = "=0.56.0" +version = "=0.57.0" features = ["workspace","sync"] [dependencies.deno_graph] diff --git a/tests/jsx/main.test.ts b/tests/jsx/main.test.ts index d616db8..8f0c646 100644 --- a/tests/jsx/main.test.ts +++ b/tests/jsx/main.test.ts @@ -1,3 +1,4 @@ +import { assert } from "node:console"; import { assertResponseText, createLoader, @@ -30,6 +31,10 @@ console.log(_jsxTemplate($$_tpl_1)); ${mainJsxSourceMappingURL}`, ); + // resolves jsx-dev + const jsx = loader.resolve("react/jsx-dev-runtime", mainTsx, ResolutionMode.Import); + assert(jsx.startsWith("file:")); + { const newLoader = await workspace.createLoader({ entrypoints: [mainJsx, mainTsxUrl], From b164909972485b0fffb9ef2cfb05215d9c6a52b7 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Fri, 13 Jun 2025 10:35:24 -0400 Subject: [PATCH 2/5] update --- src/rs_lib/lib.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/rs_lib/lib.rs b/src/rs_lib/lib.rs index e0a6ba0..5b2dd1d 100644 --- a/src/rs_lib/lib.rs +++ b/src/rs_lib/lib.rs @@ -190,6 +190,9 @@ impl DenoWorkspace { unstable_sloppy_imports: true, npm_system_info: npm_system_info()?, node_resolver_options: NodeResolverOptions { + // todo: support these + prefer_browser_field: false, + bundle_mode: false, conditions: NodeConditionOptions { conditions: options .node_conditions From a7b76c936928a37f81efe309dff08e2773ff5de9 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Fri, 13 Jun 2025 10:37:12 -0400 Subject: [PATCH 3/5] format --- tests/jsx/main.test.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/jsx/main.test.ts b/tests/jsx/main.test.ts index 8f0c646..1d7393b 100644 --- a/tests/jsx/main.test.ts +++ b/tests/jsx/main.test.ts @@ -32,7 +32,11 @@ ${mainJsxSourceMappingURL}`, ); // resolves jsx-dev - const jsx = loader.resolve("react/jsx-dev-runtime", mainTsx, ResolutionMode.Import); + const jsx = loader.resolve( + "react/jsx-dev-runtime", + mainTsx, + ResolutionMode.Import, + ); assert(jsx.startsWith("file:")); { From fe61e290ce0b1d73c641a181db7025207b9a8e74 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Fri, 13 Jun 2025 10:39:08 -0400 Subject: [PATCH 4/5] update --- .vscode/settings.json | 11 ++++++++++- deno.json | 1 - 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index b2deb72..51a3c59 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,7 +1,16 @@ { + "editor.formatOnSave": true, "[rust]": { "editor.defaultFormatter": "rust-lang.rust-analyzer", - "editor.formatOnSave": true + }, + "[typescript]": { + "editor.defaultFormatter": "denoland.vscode-deno" + }, + "[json]": { + "editor.defaultFormatter": "denoland.vscode-deno" + }, + "[yaml]": { + "editor.defaultFormatter": "denoland.vscode-deno" }, // generally I wouldn't commit this file to source control, but // this setting is necessary in order to get this repo working diff --git a/deno.json b/deno.json index 56d7823..3367cfa 100644 --- a/deno.json +++ b/deno.json @@ -16,7 +16,6 @@ }, "exports": "./src/mod.ts", "exclude": [ - ".vscode", "deno", "src/rs_lib/target", "target", From facaafee1cc489de72a39e4bac44b71eb31840b6 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Fri, 13 Jun 2025 10:45:27 -0400 Subject: [PATCH 5/5] update --- .gitmodules | 3 +++ .vscode/settings.json | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index d8ea463..f6c7979 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ +# We're using a submodule instead of a git dependency because cargo errors +# on Windows when installing the Deno repo due to the submodules within +# the Deno repo due to long paths [submodule "deno"] path = deno url = https://github.com/denoland/deno diff --git a/.vscode/settings.json b/.vscode/settings.json index 51a3c59..a2f86a7 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,7 +1,7 @@ { "editor.formatOnSave": true, "[rust]": { - "editor.defaultFormatter": "rust-lang.rust-analyzer", + "editor.defaultFormatter": "rust-lang.rust-analyzer" }, "[typescript]": { "editor.defaultFormatter": "denoland.vscode-deno"