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
tolsp-proxy
andstart
commands. It's now possible to tell the Daemon server to loadbiome.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
- Add noDefaultExport which disallows
export default
. Contributed by @Conaclos
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
andreport_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
- @fannheyward made their first contribution in #694
- @shivamgupta021 made their first contribution in #704
- @TaKO8Ki made their first contribution in #705
- @2-NOW made their first contribution in #699
- @faultyserver made their first contribution in #707
- @Gumichocopengin8 made their first contribution in #742
- @Yash-Singh1 made their first contribution in #775
- @suxin2017 made their first contribution in #804
Full Changelog: cli/v1.3.3-nightly.8475169...cli/v1.3.3-nightly.ced82da