From 87a08fc3b2d0ed1e5a197628fa7091cb656c9058 Mon Sep 17 00:00:00 2001 From: Luca Casonato Date: Thu, 7 Mar 2024 17:29:17 +0100 Subject: fix(tools/publish): correctly handle importing from self in unfurling (#22774) We emitted `import "./` rather than `import "./$NAME"`. This is now fixed. Also makes a cosmetic change so that `../` imports are now just imported as `../`, not `./../`. --- cli/tools/registry/unfurl.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'cli') diff --git a/cli/tools/registry/unfurl.rs b/cli/tools/registry/unfurl.rs index ac270346c..2224d0870 100644 --- a/cli/tools/registry/unfurl.rs +++ b/cli/tools/registry/unfurl.rs @@ -280,7 +280,15 @@ fn relative_url( referrer: &ModuleSpecifier, ) -> String { if resolved.scheme() == "file" { - format!("./{}", referrer.make_relative(resolved).unwrap()) + let relative = referrer.make_relative(resolved).unwrap(); + if relative.is_empty() { + let last = resolved.path_segments().unwrap().last().unwrap(); + format!("./{last}") + } else if relative.starts_with("../") { + relative + } else { + format!("./{relative}") + } } else { resolved.to_string() } @@ -380,6 +388,7 @@ import chalk from "chalk"; import baz from "./baz"; import b from "./b.js"; import b2 from "./b"; +import "./mod.ts"; import url from "url"; // TODO: unfurl these to jsr // import "npm:@jsr/std__fs@1/file"; @@ -428,6 +437,7 @@ import chalk from "npm:chalk@5"; import baz from "./baz/index.js"; import b from "./b.ts"; import b2 from "./b.ts"; +import "./mod.ts"; import url from "node:url"; // TODO: unfurl these to jsr // import "npm:@jsr/std__fs@1/file"; -- cgit v1.2.3