diff options
Diffstat (limited to 'cli/tools/registry')
-rw-r--r-- | cli/tools/registry/unfurl.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/cli/tools/registry/unfurl.rs b/cli/tools/registry/unfurl.rs index a28ba445a..489c9a1be 100644 --- a/cli/tools/registry/unfurl.rs +++ b/cli/tools/registry/unfurl.rs @@ -75,6 +75,9 @@ impl SpecifierUnfurler { match resolved { MappedResolution::Normal(specifier) | MappedResolution::ImportMap(specifier) => Some(specifier), + MappedResolution::WorkspaceJsrPackage { pkg_req_ref, .. } => { + Some(ModuleSpecifier::parse(&pkg_req_ref.to_string()).unwrap()) + } MappedResolution::WorkspaceNpmPackage { target_pkg_json: pkg_json, pkg_name, @@ -388,11 +391,14 @@ mod tests { use super::*; use deno_ast::MediaType; use deno_ast::ModuleSpecifier; + use deno_config::workspace::ResolverWorkspaceJsrPackage; use deno_core::serde_json::json; use deno_core::url::Url; use deno_runtime::deno_fs::RealFs; use deno_runtime::deno_node::PackageJson; + use deno_semver::Version; use import_map::ImportMapWithDiagnostics; + use indexmap::IndexMap; use pretty_assertions::assert_eq; use test_util::testdata_path; @@ -436,6 +442,13 @@ mod tests { let workspace_resolver = WorkspaceResolver::new_raw( Arc::new(ModuleSpecifier::from_directory_path(&cwd).unwrap()), Some(import_map), + vec![ResolverWorkspaceJsrPackage { + base: ModuleSpecifier::from_directory_path(cwd.join("jsr-package")) + .unwrap(), + name: "@denotest/example".to_string(), + version: Some(Version::parse_standard("1.0.0").unwrap()), + exports: IndexMap::from([(".".to_string(), "mod.ts".to_string())]), + }], vec![Arc::new(package_json)], deno_config::workspace::PackageJsonDepResolution::Enabled, ); @@ -458,6 +471,7 @@ import b from "./b.js"; import b2 from "./b"; import "./mod.ts"; import url from "url"; +import "@denotest/example"; // TODO: unfurl these to jsr // import "npm:@jsr/std__fs@1/file"; // import "npm:@jsr/std__fs@1"; @@ -507,6 +521,7 @@ import b from "./b.ts"; import b2 from "./b.ts"; import "./mod.ts"; import url from "node:url"; +import "jsr:@denotest/example@^1.0.0"; // TODO: unfurl these to jsr // import "npm:@jsr/std__fs@1/file"; // import "npm:@jsr/std__fs@1"; |