Version History
Version 2.3.7 Latest
Patch Changes
-
#8169
7fdcec8Thanks @arendjr! - Fixed #7999: Correctly placeawaitafter leading comment in auto-fix action fromnoFloatingPromisesrule. -
#8157
12d5b42Thanks @Conaclos! - Fixed #8148.noInvalidUseBeforeDeclarationno longer reports some valid use before declarations.The following code is no longer reported as invalid:
class classA {C = C;}const C = 0; -
#8178
6ba4157Thanks @dyc3! - Fixed #8174, where the HTML parser would parse 2 directives as a single directive because it would not reject whitespace in Vue directives. This would cause the formatter to erroneously merge the 2 directives into one, resulting in broken code.<Component v-else:property="123" /><Component v-else :property="123" /> -
#8088
0eb08e8Thanks @db295! - Fixed #7876: ThenoUnusedImportsrule now ignores imports that are used by @linkcode and @linkplain (previously supported @link and @see).The following code will no longer be a false positive:
import type { a } from "a"/*** {@linkcode a}*/function func() {} -
#8119
8d64655Thanks @ematipico! - Improved the detection of the rulenoUnnecessaryConditions. Now the rule isn’t triggered for variables that are mutated inside a module.This logic deviates from the original rule, hence
noUnnecessaryConditionsis now marked as “inspired”.In the following example,
heystarts asfalse, but then it’s assigned to a string. The rule isn’t triggered inside theifcheck.let hey = false;function test() {hey = "string";}if (hey) {} -
#8149
e0a02bfThanks @Netail! - Fixed #8144: ImprovenoSyncScripts, ignore script tags withtype="module"as these are always non-blocking. -
#8182
e9f068eThanks @hirokiokada77! - Fixed #7877: Range suppressions now handle suppressed categories properly.Valid:
// biome-ignore-start lint: explanationconst foo = 1;// biome-ignore-end lint: explanation -
#8111
bf1a836Thanks @ryan-m-walker! - Added support for parsing and formatting the CSS if function.Example
.basic-style {color: if(style(--scheme: dark): #eeeeee; else: #000000;);} -
#8173
7fc07c1Thanks @ematipico! - Fixed #8138 by reverting an internal refactor that caused a regression to the rulenoUnusedPrivateClassMembers. -
#8119
8d64655Thanks @ematipico! - Improved the type inference engine, by resolving types for variables that are assigned to multiple values. -
#8158
fb1458bThanks @dyc3! - Added theuseVueValidVTextlint rule to enforce validv-textdirectives. The rule reports whenv-texthas an argument, has modifiers, or is missing a value.Invalid:
<div v-text /><!-- missing value --><div v-text:aaa="foo" /><!-- has argument --><div v-text.bbb="foo" /><!-- has modifier --> -
#8158
fb1458bThanks @dyc3! - FixeduseVueValidVHtmlso that it will now flag empty strings, e.g.v-html="" -
#7078
bb7a15cThanks @emilyinure! - Fixed #6675: Now only flags noAccumulatingSpread on Object.assign when a new object is being allocated on each iteration. Before, all cases using Object.assign with reduce parameters were warned despite not making new allocations.The following code will no longer be a false positive:
foo.reduce((acc, bar) => Object.assign(acc, bar), {});The following cases which do make new allocations will continue to warn:
foo.reduce((acc, bar) => Object.assign({}, acc, bar), {}); -
#8175
0c8349eThanks @ryan-m-walker! - Fixed CSS formatting of dimension units to use correct casing forQ,HzandkHz.Before:
.cssUnits {a: 1Q;b: 1Hz;c: 1kHz;}After:
.cssUnits {a: 1Q;b: 1Hz;c: 1kHz;}
Copyright (c) 2023-present Biome Developers and Contributors.