-
noDuplicateJsonKeys no longer crashes when a JSON file contains an unterminated string (#2357).
Contributed by @Conaclos
-
noRedeclare now reports redeclarations of parameters in a functions body (#2394).
The rule was unable to detect redeclarations of a parameter or a type parameter in the function body.
The following two redeclarations are now reported:
function f<T>(a) {
type T = number; // redeclaration
const a = 0; // redeclaration
}
Contributed by @Conaclos
-
noRedeclare no longer reports overloads in object types (#2608).
The rule no longer report redeclarations in the following code:
type Overloads = {
({ a }: { a: number }): number,
({ a }: { a: string }): string,
};
Contributed by @Conaclos
-
noRedeclare now merge default function export declarations and types (#2372).
The following code is no longer reported as a redeclaration:
interface Foo {}
export default function Foo() {}
Contributed by @Conaclos
-
noUndeclaredVariables no longer reports variable-only and type-only exports (#2637).
Contributed by @Conaclos
-
noUnusedVariables no longer crash Biome when encountering a malformed conditional type (#1695).
Contributed by @Conaclos
-
useConst now ignores a variable that is read before its assignment.
Previously, the rule reported the following example:
let x;
x; // read
x = 0; // write
It is now correctly ignored.
Contributed by @Conaclos
-
useShorthandFunctionType now suggests correct code fixes when parentheses are required (#2595).
Previously, the rule didn't add parentheses when they were needed.
It now adds parentheses when the function signature is inside an array, a union, or an intersection.
- type Union = { (): number } | string;
+ type Union = (() => number) | string;
Contributed by @Conaclos
-
useTemplate now correctly escapes strings (#2580).
Previously, the rule didn't correctly escape characters preceded by an escaped character.
Contributed by @Conaclos
-
noMisplacedAssertion now allow these matchers
expect.any()
expect.anything()
expect.closeTo
expect.arrayContaining
expect.objectContaining
expect.stringContaining
expect.stringMatching
expect.extend
expect.addEqualityTesters
expect.addSnapshotSerializer
Contributed by @fujiyamaorange