github biomejs/biome cli/v1.3.3-nightly.ced82da
CLI v1.3.3-nightly.ced82da

Analyzer

CLI

  • Remove the CLI options from the lsp-proxy, as they were never meant to be passed to that command. Contributed by @ematipico

  • Add option --config-path to lsp-proxy and start commands. It's now possible to tell the Daemon server to load biome.json from a custom path. Contributed by @ematipico

  • Add new --diagnostic-level option to let users control the level of diagnostics printed by the CLI. Possible values are: "info", "warn", "hint". Contributed by @simonxabris

Bug fixes

  • Fix the command format, now it returns a non-zero exit code when if there pending diffs. Contributed by @ematipico

Configuration

Editors

Formatter

New features

  • Add a new option --line-ending. This option allows changing the type of line endings. Contributed by @SuperchupuDev
  • Added a new option called --bracket-spacing to the formatter. This option allows you to control whether spaces are inserted around the brackets of object literals. #627. Contributed by @faultyserver

Bug fixes

  • Fix #301, the formatter should not break before the in keyword. Contributed by @ematipico

JavaScript APIs

Linter

New features

Bug fixes

  • Fix #639 by ignoring unused TypeScript's mapped key. Contributed by @Conaclos

  • Fix #565 by handling several infer with the same name in extends clauses of TypeScript's conditional types. Contributed by @Conaclos

  • Fix #653. noUnusedImports now correctly removes the entire line where the unused import is. Contributed by @Conaclos

  • Fix #607 useExhaustiveDependencies, ignore optional chaining, Contributed by @msdlisper

  • Fix #676, by using the correct node for the "noreferrer" when applying the code action. Contributed by @ematipico

  • Fix #455. The CLI can now print complex emojis to the console correctly.

  • Fix #727. noInferrableTypes now correctly keeps type annotations when the initialization expression is null. Contributed by @Conaclos

  • Fix #784, noSvgWithoutTitle fixes false-positives to aria-label and reports svg's role attribute is implicit. Contributed by @unvalley

Parser

VSCode

What's Changed

Other changes

  • chore(website): add coc-biome by @fannheyward in #694
  • feat(biome_js_parser): allow newline between the static and the class member name by @magic-akari in #695
  • fix: useNamingConvention double capital camelCase diagnostic by @vasucp1207 in #668
  • feat(intellij): Manual config path specifying by @Joshuabaker2 in #660
  • chore: better templates for filing an issue by @ematipico in #697
  • docs(CONTRIBUTING): add resources section by @unvalley in #701
  • docs: add table of contents to contributing.md by @shivamgupta021 in #704
  • fix(lint): fix a false positive in lint/correctness/noUnnecessaryContinue by @TaKO8Ki in #705
  • feat(lint): implement useAwait by @2-NOW in #699
  • feat(lint): new rule useValidAriaRole by @vasucp1207 in #553
  • feat(formatter): Parenthesize typeof type expressions in array and indexed access types by @faultyserver in #707
  • docs(lint/noUnusedPrivateClassMembers): separate examples by @Conaclos in #711
  • refactor(deserialize): generic config deserialization by @Conaclos in #683
  • feat(lint): Implement noImplicitAnyLet by @TaKO8Ki in #715
  • fix(es/parser): fix type import by @magic-akari in #722
  • chore(formatter): update prettier tests by @ematipico in #714
  • challenge(formatter): predictable order of type parameter modifiers by @Conaclos in #719
  • refactor: update prettier snapshot by @Conaclos in #731
  • chore: add prettier compat report by @Conaclos in #732
  • challenge(formatter): don't print empty import assertion by @Conaclos in #734
  • feat(formatter_test): add test option to report incompatible formatter test cases only by @unvalley in #736
  • challenge(formatter): fix self closing compatibility with Prettier by @TaKO8Ki in #733
  • challenge(formatter): add parens around instantiation expr when needed by @Conaclos in #738
  • challenge(formatter): consider JsArrayHole as simple argument by @victor-teles in #740
  • chore(formatter): update compatibility reports by @Conaclos in #744
  • ci: update GitHub action by @Gumichocopengin8 in #742
  • challenge(formatter): fix arrow function expression needs parens by @Conaclos in #743
  • chore: add Apache 2.0 license to npm packages by @ematipico in #745
  • challenge(formatter): fix uneeded parens on decoaretd class expr by @Conaclos in #746
  • challenge(formatter): no space after asserts without predicate by @Conaclos in #749
  • challenge(formatter): fix default export expression parens by @Conaclos in #748
  • feat(css_parser): CSS Parser pseudo class selector #268 by @denbezrukov in #708
  • chore: update challenge reports by @Conaclos in #751
  • challenge(formatter): ignore embdedded languages and unstable syntaxes by @Conaclos in #752
  • chore: add sponsor to readme by @ematipico in #755
  • chore(challenge): update reports by @Conaclos in #758
  • challenge(formatter): Handle more unary and update expressions as simple arguments by @faultyserver in #757
  • challenge(formatter): remove trailing spaces after shebang by @Conaclos in #760
  • challenge(formatter): ignore throw expression by @Conaclos in #764
  • Conaclos/challenge/ignore throw expression 2 by @Conaclos in #765
  • challenge(formatter): allow require to split lines by @faultyserver in #762
  • challenge(formatter): (also parser) Respect, parse, and format BOM characters from source files by @faultyserver in #750
  • feat(css_parser): CSS Parser pseudo element selector #268 by @denbezrukov in #766
  • feat(lint): add unsafe code fix to `useAriaActivedescendantWithTabindex by @vasucp1207 in #761
  • challenge(formatter): format numeric properties and unquote exact floats by @Conaclos in #767
  • chore(challenge): update reports by @Conaclos in #769
  • challenge(formatter): quit hard line break if default clause has no consequent by @unvalley in #768
  • challenge(formatter): add a block indent to dangling comments by @TaKO8Ki in #770
  • challenge(formatter): Attach comments to labels by @Conaclos in #730
  • challenge(formatter): check if the third member of test call expression is appropriate by @TaKO8Ki in #772
  • challenge(formatter): fix unnecessary indent to nested await by @victor-teles in #773
  • chore: remove FormatAnyJsLabel by @TaKO8Ki in #781
  • challenge(formatter): fix prettier differences in test declarations by @TaKO8Ki in #780
  • chore(challenge): update reports by @Conaclos in #782
  • challenge(formatter): assignment with await/yield do not break by @victor-teles in #776
  • challenge(formatter): respect prettier Range options by @Gumichocopengin8 in #774
  • challenge(formatter): fix typescript/union/inlining by @Yash-Singh1 in #775
  • challenge(formatter): Handle special first-argument expansions in call arguments by @faultyserver in #777
  • challenge(formatter): highligh prettier reformat issue by @Conaclos in #790
  • chore(challenge): fix invalid markdown in report.md and report_incompatible.md by @TaKO8Ki in #791
  • challenge(formatter): add parens to tail body for a chain of arrow functions by @TaKO8Ki in #789
  • chore(challenge): update reports by @Conaclos in #792
  • challenge(formatter): Fix multi-expression template literal indention by @faultyserver in #793
  • chore(challenge): refine reports by @Conaclos in #796
  • refactor: rename some rome-ignore to biome-ignore by @Conaclos in #795
  • chore: update report.md by @ematipico in #797
  • challenge(formatter): fix typescript declarations and soft wrap index signatures by @Yash-Singh1 in #794
  • chore(challenge): refine reports by @Conaclos in #798
  • challenge(formatter): arrows chain as arg by @suxin2017 in #804
  • challenge(formatter): disambiguate unary expr in instanceof and in expr by @Conaclos in #806
  • fix(linter): avoid causing noUselessLoneBlockStatements for try/catch by @TaKO8Ki in #803
  • feat(css_parser): CSS Parser pseudo element selector #268 by @denbezrukov in #763
  • challenge(formatter): sloppy mode tests by @victor-teles in #801
  • challenge(formatter): edge case with expression statement and type cast by @Conaclos in #754
  • challenge(formatter): noInitializerWithDefinite rule by @Yash-Singh1 in #802
  • feat(css_parser): CSS Parser pseudo element selector #268 by @denbezrukov in #812
  • challenge(formatter): arrows comment by @suxin2017 in #785
  • challenge(formatter): Implement bracketSameLine option to match Prettier by @faultyserver in #799
  • challenge(formatter): handle let variable name in non-strict mode by @Conaclos in #814
  • chore(challenge): update reports by @Conaclos in #815
  • challenge(formatter): indent nested conditional expressions by @Conaclos in #816
  • challenge(formatter): handle line break and comments for array holes by @victor-teles in #756
  • feat: extract vscode extension to its own repository by @nhedger in #819
  • fix(formatter): Fix bracket spacing option for single named imports by @faultyserver in #800
  • fix(playground): set bracketSpacing by @vasucp1207 in #824

New Contributors

Full Changelog: cli/v1.3.3-nightly.8475169...cli/v1.3.3-nightly.ced82da

Don't miss a new biome release

NewReleases is sending notifications on new releases.