Analyzer
CLI
Features
- Add new options to customize the behaviour the formatter based on the language of the file
--json-formatter-enabled--json-formatter-indent-style--json-formatter-indent-size--json-formatter-line-width--javascript-formatter-enabled--javascript-formatter-indent-style--javascript-formatter-indent-size--javascript-formatter-line-width
Bug fixes
- Fix a bug where
--errors-on-warningdidn't work when runningbiome cicommand.
Configuration
Features
- Add new options to customize the behaviour of the formatter based on the language of the file
json.formatter.enabledjson.formatter.indentStylejson.formatter.indentSizejson.formatter.lineWidthjavascript.formatter.enabledjavascript.formatter.indentStylejavascript.formatter.indentSizejavascript.formatter.lineWidth
Editors
Formatter
JavaScript APIs
Linter
New features
- Add noConfusingVoidType rule. The rule reports the unusual use of the
voidtype. Contributed by @shulandmimi
Enhancements
-
noFallthroughSwitchClause now relies on control flow analysis to report most of switch clause fallthrough. Contributed by @Conaclos
-
noAssignInExpressions no longer suggest code fixes. Most of the time the suggestion didn't match users' expectations. Contributed by @Conaclos
-
noUselessConstructor no longer emits safe code fixes. Contributed by @Conaclos
All code fixes are now emitted as unsafe code fixes.
Removing a constructor can change the behavior of a program. -
useCollapsedElseIf now only provides safe code fixes. Contributed by @Conaclos
-
noUnusedVariables now reports more cases.
The rule is now able to ignore self-writes.
For example, the rule reports the following unused variable:let a = 0; a++; a += 1;
The rule is also capable of detecting an unused declaration that uses itself.
For example, the rule reports the following unused interface:interface I { instance(): I }
Finally, the rule now ignores all TypeScript declaration files,
including global declaration files.Contributed by @Conaclos
-
Remove noConfusingArrow.
Code formatters, such as prettier and Biome, always adds parentheses around the parameter or the body of an arrow function.
This makes the rule useless.Contributed by @Conaclos
Bug fixes
-
Fix #182, making useLiteralKeys retains optional chaining. Contributed by @denbezrukov
-
Fix #168, fix useExhaustiveDependencies false positive case when stable hook is on a new line. Contributed by @denbezrukov
-
Fix #137, fix noRedeclare false positive case with TypeScript module declaration:
declare module '*.gif' { const src: string; } declare module '*.bmp' { const src: string; }
Contributed by @denbezrukov
-
Fix #258, fix noUselessFragments the case where the rule removing an assignment. Contributed by @denbezrukov
-
Fix #266, where
complexity/useLiteralKeysemitted a code action with an invalid AST. Contributed by @ematipico -
Fix #105, removing false positives reported by noUnusedVariables.
The rule no longer reports the following used variable:
const a = f(() => a);
Contributed by @Conaclos
Parser
VSCode
What's Changed
Other changes
- chore: rename
rome_flagstobiome_flags,rome_aria_metadatatobiome_aria_metadataandrome_ariatobiome_aria#88 by @kyu08 in #170 - feat: rename rome_analyze -> biome_analyze #88 by @ekusiadadus in #192
- Updated the linter rules link by @buntured in #189
- Update NumberOfRules.astro by @buntured in #176
- docs: add bun commands to getting started guide by @jakeboone02 in #188
- fix: code generation by @ematipico in #194
- chore: rename rome_text_* to biome_text_* by @nissy-dev in #198
- feat(lint/noConfusingVoidType): add no-confusing-void-type by @shulandmimi in #184
- chore: rename
rome_js_unicode_tabletobiome_js_unicode_table#88 by @kyu08 in #205 - chore: rename some crates by @nissy-dev in #201
- chore: rename rome_diagnostics by @nissy-dev in #207
- fix useLiteralKeys bug with empty string key by @ssssota in #203
- fix(vscode): disable extension if required config file is missing by @nhedger in #210
- chore: rename
rome_clitobiome_cliby @nhedger in #211 - chore: rename some crates by @nissy-dev in #212
- chore: update links displayed in
biome init, the previous were broken by @WagnerMoreira in #213 - feat(lint/useIsNan): add code fix action by @victor-teles in #125
- chore: rename some crates by @nissy-dev in #216
- chore: rename some crates by @nissy-dev in #218
- chore: rename some crates by @nissy-dev in #220
- chore: rename
rome_js_transformandrome_js_parsertobiome_*by @kyu08 in #224 - Update configuration.mdx by @dinckelman in #226
- fix(lint/noConfusingVoidType): separate invalid examples by @Conaclos in #233
- feat(vscode): lower minimum engine version to
1.80.0by @nhedger in #235 - chore: improve vscode extension debug dx by @nhedger in #221
- chore: rename
rome_formatterandrome_formatter_testtobiome_*by @nhedger in #223 - chore(vscode): switch from
npmtopnpmby @nhedger in #219 - docs: add section for Vue and Svelte by @ematipico in #238
- fix(analyzer): add external module declaration by @denbezrukov in #242
- chore: rename some crates by @nissy-dev in #241
- refactor(lint/useCollapsedElseIf): remove unsafe code fixes by @Conaclos in #244
- docs: rename rome to biome by @DavidSint in #246
- ci(release_lsp): fix vscode extension build by @nhedger in #249
- fix(biome-lsp): only filter quickactions when action category is 'quickfix.biome' by @victor-teles in #248
- chore: rename rome_js_analyze to biome_js_analyze by @Conaclos in #250
- chore: rename some crates by @nissy-dev in #251
- ci(release_lsp): fix extension packaging by @nhedger in #253
- ci: update workflow deps and cancel jobs on PR update by @Conaclos in #261
- ci: cleanup cache when a PR is closed by @Conaclos in #262
- Revert "ci: cleanup cache when a PR is closed (#262)" by @Conaclos in #272
- chore: update contribution links by @ematipico in #277
- fix(vscode): server bin path resolution by @nhedger in #227
- fix(cli): set the right name for binary executable by @NumberOneBot in #278
New Contributors
- @kyu08 made their first contribution in #170
- @buntured made their first contribution in #189
- @jakeboone02 made their first contribution in #188
- @shulandmimi made their first contribution in #184
- @ssssota made their first contribution in #203
- @nhedger made their first contribution in #210
- @denbezrukov made their first contribution in #214
- @WagnerMoreira made their first contribution in #213
- @victor-teles made their first contribution in #125
- @dinckelman made their first contribution in #226
- @DavidSint made their first contribution in #246
- @NumberOneBot made their first contribution in #278
Full Changelog: cli/v1.1.2...cli/v1.1.2-nightly.9c28238