mirror of
https://github.com/danbulant/oxc
synced 2026-05-24 12:21:58 +00:00
chore(linter): shorten eslint/eqeqeq rule error message's span (#3193)
This commit is contained in:
parent
7363e14335
commit
cba1e7f463
2 changed files with 36 additions and 22 deletions
|
|
@ -101,10 +101,24 @@ impl Rule for Eqeqeq {
|
|||
let (preferred_operator, preferred_operator_with_padding) =
|
||||
to_strict_eq_operator_str(binary_expr.operator);
|
||||
|
||||
#[allow(clippy::cast_possible_truncation)]
|
||||
let operator_span = {
|
||||
let left_end = binary_expr.left.span().end;
|
||||
let right_start = binary_expr.right.span().start;
|
||||
let offset = Span::new(left_end, right_start)
|
||||
.source_text(ctx.source_text())
|
||||
.find(operator)
|
||||
.unwrap_or(0) as u32;
|
||||
|
||||
let operator_start = left_end + offset;
|
||||
let operator_end = operator_start + operator.len() as u32;
|
||||
Span::new(operator_start, operator_end)
|
||||
};
|
||||
|
||||
// If the comparison is a `typeof` comparison or both sides are literals with the same type, then it's safe to fix.
|
||||
if is_type_of_binary_bool || are_literals_and_same_type_bool {
|
||||
ctx.diagnostic_with_fix(
|
||||
EqeqeqDiagnostic(operator, preferred_operator, binary_expr.span),
|
||||
EqeqeqDiagnostic(operator, preferred_operator, operator_span),
|
||||
|| {
|
||||
let start = binary_expr.left.span().end;
|
||||
let end = binary_expr.right.span().start;
|
||||
|
|
@ -112,7 +126,7 @@ impl Rule for Eqeqeq {
|
|||
},
|
||||
);
|
||||
} else {
|
||||
ctx.diagnostic(EqeqeqDiagnostic(operator, preferred_operator, binary_expr.span));
|
||||
ctx.diagnostic(EqeqeqDiagnostic(operator, preferred_operator, operator_span));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,71 +10,71 @@ expression: eqeqeq
|
|||
help: Prefer > operator
|
||||
|
||||
⚠ eslint(eqeqeq): Expected === and instead saw ==
|
||||
╭─[eqeqeq.tsx:1:1]
|
||||
╭─[eqeqeq.tsx:1:12]
|
||||
1 │ typeof foo == 'undefined'
|
||||
· ─────────────────────────
|
||||
· ──
|
||||
╰────
|
||||
help: Prefer === operator
|
||||
|
||||
⚠ eslint(eqeqeq): Expected !== and instead saw !=
|
||||
╭─[eqeqeq.tsx:1:1]
|
||||
╭─[eqeqeq.tsx:1:9]
|
||||
1 │ 'hello' != 'world'
|
||||
· ──────────────────
|
||||
· ──
|
||||
╰────
|
||||
help: Prefer !== operator
|
||||
|
||||
⚠ eslint(eqeqeq): Expected === and instead saw ==
|
||||
╭─[eqeqeq.tsx:1:1]
|
||||
╭─[eqeqeq.tsx:1:3]
|
||||
1 │ 0 == 0
|
||||
· ──────
|
||||
· ──
|
||||
╰────
|
||||
help: Prefer === operator
|
||||
|
||||
⚠ eslint(eqeqeq): Expected === and instead saw ==
|
||||
╭─[eqeqeq.tsx:1:1]
|
||||
╭─[eqeqeq.tsx:1:6]
|
||||
1 │ true == true
|
||||
· ────────────
|
||||
· ──
|
||||
╰────
|
||||
help: Prefer === operator
|
||||
|
||||
⚠ eslint(eqeqeq): Expected === and instead saw ==
|
||||
╭─[eqeqeq.tsx:1:1]
|
||||
╭─[eqeqeq.tsx:1:5]
|
||||
1 │ foo == null
|
||||
· ───────────
|
||||
· ──
|
||||
╰────
|
||||
help: Prefer === operator
|
||||
|
||||
⚠ eslint(eqeqeq): Expected === and instead saw ==
|
||||
╭─[eqeqeq.tsx:1:1]
|
||||
╭─[eqeqeq.tsx:1:3]
|
||||
1 │ a == b
|
||||
· ──────
|
||||
· ──
|
||||
╰────
|
||||
help: Prefer === operator
|
||||
|
||||
⚠ eslint(eqeqeq): Expected === and instead saw ==
|
||||
╭─[eqeqeq.tsx:1:1]
|
||||
╭─[eqeqeq.tsx:1:5]
|
||||
1 │ foo == true
|
||||
· ───────────
|
||||
· ──
|
||||
╰────
|
||||
help: Prefer === operator
|
||||
|
||||
⚠ eslint(eqeqeq): Expected !== and instead saw !=
|
||||
╭─[eqeqeq.tsx:1:1]
|
||||
╭─[eqeqeq.tsx:1:9]
|
||||
1 │ bananas != 1
|
||||
· ────────────
|
||||
· ──
|
||||
╰────
|
||||
help: Prefer !== operator
|
||||
|
||||
⚠ eslint(eqeqeq): Expected === and instead saw ==
|
||||
╭─[eqeqeq.tsx:1:1]
|
||||
╭─[eqeqeq.tsx:1:7]
|
||||
1 │ value == undefined
|
||||
· ──────────────────
|
||||
· ──
|
||||
╰────
|
||||
help: Prefer === operator
|
||||
|
||||
⚠ eslint(eqeqeq): Expected === and instead saw ==
|
||||
╭─[eqeqeq.tsx:1:1]
|
||||
╭─[eqeqeq.tsx:1:6]
|
||||
1 │ null == null
|
||||
· ────────────
|
||||
· ──
|
||||
╰────
|
||||
help: Prefer === operator
|
||||
|
|
|
|||
Loading…
Reference in a new issue