@biomejs/backend-jsonrpc
Advanced tools
Changelog
v1.9.3 (2024-10-01)
GritQL queries that match functions or methods will now match async functions or methods as well.
If this is not what you want, you can capture the async
keyword (or its absence) in a metavariable and assert its emptiness:
$async function foo() {} where $async <: .
Contributed by @arendjr
Fix #4077: Grit queries no longer need to match the statement's trailing semicolon. Contributed by @arendjr
Fix #4102. Now the CLI command lint
doesn't exit with an error code when using --write
/--fix
. Contributed by @ematipico
noLabelWithoutControl
options where incorrectly marked as mandatory. Contributed by @ematipicoFix #3924 where GraphQL formatter panics in block comments with empty line. Contributed by @vohoanglong0107
Fix #3364 where the useSelfClosingElements
rule forces the script
tag to be self-closing. Previously, this rule applies to all elements and cannot be disabled for native HTML elements.
Now, this rule accepts a ignoreHtmlElements
option, which when set to true
, ignores native HTML elements and allows them to be non-self-closing.
Contributed by @abidjappie
Fix a case where raw values inside url()
functions weren't properly trimmed.
.value {
- background: url(
- whitespace-around-string
- );
+ background: url(whitespace-around-string);
}
Contributed by @ematipico
Fixed #4076, where a media query wasn't correctly formatted:
.class {
- @media (1024px <= width <=1280px) {
+ @media (1024px <= width <= 1280px) {
color: red;
}
}
Contributed by @blaze-d83
Add noDescendingSpecificity. Contributed by @tunamaguro
Add noNestedTernary. Contributed by @kaykdm
Add noTemplateCurlyInString. Contributed by @fireairforce
Add noOctalEscape. Contributed by @fireairforce
Add an option reportUnnecessaryDependencies
to useExhaustiveDependencies.
Defaults to true. When set to false, errors will be suppressed for React hooks that declare dependencies but do not use them.
Contributed by @simon-paris
Add an option reportMissingDependenciesArray
to useExhaustiveDependencies. Contributed by @simon-paris
noControlCharactersInRegex no longer panics on regexes with incomplete escape sequences. Contributed by @Conaclos
noMisleadingCharacterClass no longer reports issues outside of character classes.
The following code is no longer reported:
/[a-z]👍/;
Contributed by @Conaclos
noUndeclaredDependencies no longer reports Node.js builtin modules as undeclared dependencies.
The rule no longer reports the following code:
import * as fs from "fs";
Contributed by @Conaclos
noUnusedVariables no longer panics when suggesting the renaming of a variable at the start of a file (#4114). Contributed by @Conaclos
noUselessEscapeInRegex no longer panics on regexes that start with an empty character class. Contributed by @Conaclos
noUselessStringConcat no longer panics when it encounters malformed code. Contributed by @Conaclos
noUnusedFunctionParameters no longer reports unused parameters inside an object pattern with a rest parameter.
In the following code, the rule no longer reports a
as unused.
function f({ a, ...rest }) {
return rest;
}
This matches the behavior of noUnusedVariables.
Contributed by @Conaclos
useButtonType no longer reports dynamically created button with a valid type (#4072).
The following code is no longer reported:
React.createElement("button", { type: "button" }, "foo")
Contributed by @Conaclos
useSemanticElements now ignores elements with the img
role (#3994).
MDN recommends using role="img"
for grouping images or creating an image from other elements.
The following code is no longer reported:
<div role="img" aria-label="That cat is so cute">
<p>🐈 😂</p>
</div>
Contributed by @Conaclos
useSemanticElements now ignores alert
and alertdialog
roles (#3858). Contributed by @Conaclos
noUselessFragments don't create invaild JSX code when Fragments children contains JSX Expression and in a LogicalExpression. Contributed by @fireairforce
Changelog
v1.9.2 (2024-09-19)
Added support for custom GritQL definitions, including:
Contributed by @arendjr
contains
queries to report false positives when the matched
node appeared inside a sibling node. Contributed by @arendjrFix #3923. Now the .editorconfig
is correctly parsed by the LSP, and the options are correctly applied to files when formatting is triggered.
Plus, the Biome LSP now watches for any change to the .editorconfig
, and updates the formatting settings.
Reduced the number of log files generated by the LSP server. Now the maximum number of logs saved on disk is seven. Contributed by @ematipico
Fix the code actions capabilities available in the LSP Biome server. Before, the LSP was using the default capabilities, which resulted in pulling code actions even when they were disabled by the editor.
This means that the code actions are pulled by the client only when the editor enables quickfix.biome
, source.organizeImports.biome
and source.fixAll.biome
.
Now, if you enable organizeImports.enabled: true
in the biome.json
, and then you configure your editor with the following code action source.organizeImports.biome: false
, the editor won't sort the imports.
Contributed by @ematipico
noLabelWithoutControl now accept JSX expression as label value (#3875). Contributed by @Conaclos
useFilenamingConvention no longer suggests names with a disallowed case (#3952). Contributed by @Conaclos
useFilenamingConvention now recognizes file names starting with ASCII digits as lowercase (#3952).
Thus, 2024-09-17-filename
, 2024_09_17_filename
and 20240917FileName
are in kebab-case
, snake_case
, and camelCase
respectively.
Contributed by @Conaclos
useFilenamingConvention now applies the configured formats to the file extensions (#3650). Contributed by @Conaclos
useStrictMode now reports Script files with some directives, but without the use strict
directive. Contributed by @Conaclos
The CSS parser now accepts the characters U+FFDCF and U+FFFD in identifiers. Contributed by @Conaclos
Changelog
v1.9.1 (2024-09-15)
useEditorConfig
now loads the editorconfig when running biome ci
#3864. Contributed by @dyc3@/
imports and recognizes type imports from Definitely Typed and bun
imports. Contributed by @Conaclos