@biomejs/biome 2.3.7
2.3.7
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: explanation const 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; }
What's Changed
- chore: remove gold sponsor by @ematipico in https://github.com/biomejs/biome/pull/8135
- fix: next namespace by @Netail in https://github.com/biomejs/biome/pull/8142
- fix(schema): domains and feature kind by @ematipico in https://github.com/biomejs/biome/pull/8147
- docs(lint/html): fix some html rule docs that mess up markdown rendering on the website by @dyc3 in https://github.com/biomejs/biome/pull/8154
- fix(noInvalidUseBeforeDeclaration): ignore valid use before declarations by @Conaclos in https://github.com/biomejs/biome/pull/8157
- fix: noSyncScripts type="module" by @Netail in https://github.com/biomejs/biome/pull/8149
- feat(css): add support for parsing and formatting the CSS if function by @ryan-m-walker in https://github.com/biomejs/biome/pull/8111
- chore: add regex globals by @arendjr in https://github.com/biomejs/biome/pull/8166
- ci: triggers for github merge queue by @dyc3 in https://github.com/biomejs/biome/pull/8168
- fix: correctly place await after comment by @arendjr in https://github.com/biomejs/biome/pull/8169
- fix(noUnusedImports): parse also linkcode, and not only link by @db295 in https://github.com/biomejs/biome/pull/8088
- fix(inference): improved inference for assignment types by @ematipico in https://github.com/biomejs/biome/pull/8119
- feat(lint/html/vue): add
useVueValidVTextby @dyc3 in https://github.com/biomejs/biome/pull/8158 - fix(css): updating formatting of non-lowercase CSS dimension units by @ryan-m-walker in https://github.com/biomejs/biome/pull/8175
- fix(parse/html/vue): reject whitespace before vue directive arguments by @dyc3 in https://github.com/biomejs/biome/pull/8178
- fix(biome_analyze): handle suppressed categories properly for range suppressions by @hirokiokada77 in https://github.com/biomejs/biome/pull/8182
- fix: only flag object assign in accumulators, if it is allocating a new object for each iter by @emilyinure in https://github.com/biomejs/biome/pull/7078
- fix: revert #7684 by @ematipico in https://github.com/biomejs/biome/pull/8173
- ci: release by @github-actions[bot] in https://github.com/biomejs/biome/pull/8161
New Contributors
- @db295 made their first contribution in https://github.com/biomejs/biome/pull/8088
Full Changelog: https://github.com/biomejs/biome/compare/@biomejs/biome@2.3.6...@biomejs/biome@2.3.7