From b30e5c09859000896a0caf52e78b0cbdb58955ef Mon Sep 17 00:00:00 2001 From: Nayeem Rahman Date: Wed, 12 Jun 2024 22:22:57 +0100 Subject: fix(lsp): strip .js before probing for valid import fix (#24188) --- cli/lsp/analysis.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'cli') diff --git a/cli/lsp/analysis.rs b/cli/lsp/analysis.rs index 62feeb602..8480f6e1d 100644 --- a/cli/lsp/analysis.rs +++ b/cli/lsp/analysis.rs @@ -76,7 +76,10 @@ static PREFERRED_FIXES: Lazy> = static IMPORT_SPECIFIER_RE: Lazy = lazy_regex::lazy_regex!(r#"\sfrom\s+["']([^"']*)["']"#); -const SUPPORTED_EXTENSIONS: &[&str] = &[".ts", ".tsx", ".js", ".jsx", ".mjs"]; +const SUPPORTED_EXTENSIONS: &[&str] = &[ + ".ts", ".tsx", ".js", ".jsx", ".mjs", ".mts", ".cjs", ".cts", ".d.ts", + ".d.mts", ".d.cts", +]; #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct DataQuickFixChange { @@ -436,6 +439,7 @@ impl<'a> TsResponseImportMapper<'a> { return Some(specifier); } } + let specifier = specifier.strip_suffix(".js").unwrap_or(specifier); for ext in SUPPORTED_EXTENSIONS { let specifier_with_ext = format!("{specifier}{ext}"); if self -- cgit v1.2.3