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/.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 new file mode 100644 index 0000000..a2f86a7 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,21 @@ +{ + "editor.formatOnSave": true, + "[rust]": { + "editor.defaultFormatter": "rust-lang.rust-analyzer" + }, + "[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 + // 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/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", 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/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 diff --git a/tests/jsx/main.test.ts b/tests/jsx/main.test.ts index d616db8..1d7393b 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,14 @@ 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],