Version History
Version 2.3.15 Latest
Patch Changes
-
#9019
043b67cThanks @dyc3! - Added the lint rulenoNestedPromises. This rule detects nested.then()or.catch()calls that could be refactored into flat promise chains.// Invalid: nested promise that can be flatteneddoThing().then(function () {return doOtherThing().then(console.log);});// Valid: flat promise chaindoThing().then(() => doOtherThing()).then(console.log);The rule intelligently allows nesting when the inner callback references variables from the outer scope, as these cases cannot be safely flattened.
-
#9029
6ebf6c6Thanks @ff1451! - Added the nursery rulenoUselessReturn. The rule reports redundantreturn;statements that don’t affect the function’s control flow.// Invalid: return at end of function is redundantfunction foo() {doSomething();return;} -
#9017
8bac2daThanks @mdevils! - Reverted a behavior change inuseExhaustiveDependenciesthat was accidentally included as part of the #8802 fix. The change made method calls on objects (e.g.,props.data.forEach(...)) report only the object (props.data) as a missing dependency instead of the full member expression. This behavior change will be reconsidered separately. -
#9005
c8dbbbeThanks @corvid-agent! - Fixed #8790: ThenoAssignInExpressionsrule no longer reports a false positive when an assignment is used as the expression body of an arrow function (e.g.,const f = b => a += b). -
#8519
ccdc602Thanks @ruidosujeira! - Fixed #8518, where globally excluded files in a monorepo were still being processed when using"extends": "//".When a package-level configuration extends the root configuration with
"extends": "//", glob patterns (such as those infiles.includes) are now correctly resolved relative to the project root directory, instead of the current workspace directory. -
#9033
0628e0aThanks @mdevils! - Fixed #8967. useExhaustiveDependencies no longer reports false positives for variables destructured from a rest pattern. -
#9023
8ef9d1dThanks @siketyan! - Fixed #9020: Whenjavascript.jsxRuntimeis set toreactClassic,noUnusedImportsanduseImportTyperules now allow importing theReactidentifier from a package other thanreact. This aligns the behavior withtsc(--jsx=react), which also allows importingReactfrom any package. -
#8646
16fd71dThanks @siketyan! - Fixed #8605: Text expressions in some template languages ({{ expr }}or{ expr }) at the top level of an HTML document no longer causes panicking. -
#8930
51c158eThanks @ANKANJAGTAP! - Fixed #8917 useExhaustiveDependencies now correctly detects JSX component identifiers as hook dependencies. -
#9009
7d229c7Thanks @Netail! - Fixed typo in noPositiveTabindex’s quick fix text. -
#8758
8c789f1Thanks @Pranav2612000! - Updated the useJsxKeyInIterable rule to not run inside Map constructors -
#8977
bbe0e0cThanks @FrankFMY! - Fixed #4888. noUnusedImports now addsexport {}when removing the last import in a TypeScript file to prevent it from becoming an ambient module. This does not apply to embedded scripts in Vue, Svelte, or Astro files, which are already in a module context. -
#9016
9d4cfa3Thanks @dyc3! - Added eslint migration metadata for the rules@typescript/no-var-requires,@typescript/keyword-spacing,@typescript/func-call-spacing,vue/keyword-spacing,vue/func-call-spacing, andunicorn/empty-brace-spaces, -
#8848
2cba2b3Thanks @LouisLau-art! - Fixed #8845. NowuseGenericFontNamesdoesn’t trigger whenfontis declared inside the@supportsat-rule. -
#8997
a5f3212Thanks @mldangelo! - Fixed #8476. useAwaitThenable no longer reports false positives forawaiton call expressions whose return type cannot be resolved (e.g., cross-module function calls to Node.js builtins or npm packages). -
#8978
cc7a478Thanks @FrankFMY! - Fixed #8645. useAwait no longer reportsasyncgenerator functions that useyield*, sinceyield*in an async generator delegates to anAsyncIterableand requires theasyncmodifier.
Copyright (c) 2023-present Biome Developers and Contributors.