Skip to content

Commit f732589

Browse files
committed
fix(linter): panic in consistent-type-imports when the source contains a { (#12002)
fixes #11993
1 parent 899b8b4 commit f732589

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

crates/oxc_linter/src/rules/typescript/consistent_type_imports.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -793,7 +793,8 @@ fn fix_insert_type_specifier_for_import_declaration<'a>(
793793
) -> FixerResult<RuleFix<'a>> {
794794
let FixOptions { fixer, import_decl, ctx, .. } = options;
795795
let fixer = fixer.for_multifix();
796-
let import_source = ctx.source_range(import_decl.span);
796+
let import_specifiers_span = Span::new(import_decl.span.start, import_decl.source.span.start);
797+
let import_source = ctx.source_range(import_specifiers_span);
797798
let mut rule_fixes = fixer.new_fix_with_capacity(1);
798799

799800
// "import { Foo, Bar } from 'foo'" => "import type { Foo, Bar } from 'foo'"
@@ -3391,6 +3392,11 @@ export class Foo extends Bar {}
33913392
",
33923393
None,
33933394
),
3395+
(
3396+
"\nimport Foo from'{'; type k = Foo",
3397+
"\nimport type Foo from'{'; type k = Foo",
3398+
Some(serde_json::json!([{ "prefer": "type-imports" }])),
3399+
),
33943400
];
33953401

33963402
// To format fix code.

0 commit comments

Comments
 (0)