← Package directory
Available on winget

Install Biome

Biome is a toolchain for web projects, aimed at providing functionalities to maintain them. It offers a formatter and linter, usable via CLI and LSP.

Install with winget
winget install --id BiomeJS.Biome
Upgrade
winget upgrade --id BiomeJS.Biome
Uninstall
winget uninstall --id BiomeJS.Biome

About Biome

Biome is a toolchain for web projects, aimed at providing functionalities to maintain them. It offers a formatter and linter, usable via CLI and LSP.

What's new in 2.4.15

2.4.15 Patch Changes - #9394 ba3480e Thanks @dyc3! - Added the nursery rule useTestHooksInOrder in the test domain. The rule enforces that Jest/Vitest lifecycle hooks (beforeAll, beforeEach, afterEach, afterAll) are declared in the order they execute, making test setup and teardown easier to reason about. - #10254 e0a54cc Thanks @dyc3! - Added a new nursery rule useVueNextTickPromise, which enforces Promise syntax when using Vue nextTick. For example, the following snippet triggers the rule: import { nextTick } from "vue"; nextTick(() => { updateDom(); }); - #10219 64aee45 Thanks @dyc3! - Added a new nursery rule noVueVOnNumberValues, that disallows deprecated number modifiers on Vue v-on directives. For example, the following snippet triggers the rule: <input @keyup.13="submit" /> - #10195 7b8d4e1 Thanks @dyc3! - Added the new nursery rule useVueValidVFor, which validates Vue v-for directives and reports invalid aliases, missing component keys, and keys that do not use iteration variables. - #10238 1110256 Thanks @dyc3! - Added the recommended nursery rule noVueImportCompilerMacros, which disallows importing Vue compiler macros such as defineProps from vue because they are automatically available. - #10201 1a08f89 Thanks @realknove! - Fixed #10193: style/useReadonlyClassProperties no longer reports class properties as readonly-able when they are assigned inside arrow callbacks nested in class property initializers. - #9574 3bd2b6a Thanks @Conaclos! - Fixed #9530. The diagnostics of organizeImports are now more detailed and more precise. They are also better at localizing w...

Read release notes

Version history

Version Updated Notes
2.4.15 Unknown 2.4.15 Patch Changes - #9394 ba3480e Thanks @dyc3! - Added the nursery rule useTestHooksInOrder in the test domain. The rule enforces that Jest/Vitest lifecycle hooks (beforeAll, beforeEach, afterEach, afterAll) are decl...
2.4.14 Unknown 2.4.14 Patch Changes - #9393 491b171 Thanks @dyc3! - Added the nursery rule useTestHooksOnTop in the test domain. The rule flags lifecycle hooks (beforeEach, beforeAll, afterEach, afterAll) that appear after test cases i...
2.4.13 Unknown 2.4.13 Patch Changes - #9969 c5eb92b Thanks @officialasishkumar! - Added the nursery rule noUnnecessaryTemplateExpression, which disallows template literals that only contain string literal expressions. These can be repl...
2.4.12 Unknown 2.4.12 Patch Changes - #9376 9701a33 Thanks @dyc3! - Added the nursery/noIdenticalTestTitle lint rule. This rule disallows using the same title for two describe blocks or two test cases at the same nesting level. describ...
2.4.11 Unknown 2.4.11 Patch Changes - #9350 4af4a3a Thanks @dyc3! - Added the new nursery rule useConsistentTestIt in the test domain. The rule enforces consistent use of either it or test for test functions in Jest/Vitest suites, with...
2.4.10 Unknown 2.4.10 Patch Changes - #8838 f3a6a6b Thanks @baeseokjae! - Added new lint nursery rule noImpliedEval. The rule detects implied eval() usage through functions like setTimeout, setInterval, and setImmediate when called wit...
2.4.9 Unknown 2.4.9 Patch Changes - #9315 085d324 Thanks @ematipico! - Added a new nursery CSS rule noDuplicateSelectors, that disallows duplicate selector lists within the same at-rule context. For example, the following snippet trig...
2.4.8 Unknown 2.4.8 Patch Changes - #9488 bc709f6 Thanks @mvanhorn! - Fixed #9463: the "Biome found a configuration file outside of the current working directory" diagnostic now includes the configuration file path and the working dir...
2.4.7 Unknown 2.4.7 Patch Changes - #9318 3ac98eb Thanks @ematipico! - Added new nursery lint rule useBaseline for CSS. The rule reports when CSS properties, property values, at-rules, media conditions, functions, or pseudo-selectors...
2.4.6 Unknown 2.4.6 Patch Changes - #9305 40869b5 Thanks @ematipico! - Fixed #4946: noUnreachable no longer reports code inside finally blocks as unreachable when there is a break, continue, or return in the corresponding try body. -...
2.4.5 Unknown 2.4.5 Patch Changes - #9185 e43e730 Thanks @dyc3! - Added the nursery rule useVueScopedStyles for Vue SFCs. This rule enforces that <style> blocks have the scoped attribute (or module for CSS Modules), preventing style l...
2.4.4 Unknown 2.4.4 Patch Changes - #9150 6946835 Thanks @dyc3! - Fixed #9138: Astro files containing --- in HTML content (e.g., <h1>---Hi</h1>) are now parsed correctly, both when a frontmatter block is present and when there is no f...
2.4.3 Unknown 2.4.3 Patch Changes - #9120 aa40fc2 Thanks @ematipico! - Fixed #9109, where the GitHub reporter wasn't correctly enabled when biome ci runs on GitHub Actions. - #9128 8ca3f7f Thanks @dyc3! - Fixed #9107: The HTML parser...
2.4.2 Unknown 2.4.2 Patch Changes - #9103 fc9850c Thanks @dyc3! - Fixed #9098: useImportType no longer incorrectly flags imports used in Svelte control flow blocks ({#if}, {#each}, {#await}, {#key}) as type-only imports. - #9106 f4b72...
2.4.1 Unknown 2.4.1 Patch Changes - #9092 6edd600 Thanks @ematipico! - Fixed #9052. This PR reverts changes introduced by #8519, which caused unwanted changes on how paths are resolved. - #9091 3bf674d Thanks @ematipico! - Fixed #9090...
2.4.0 Unknown 2.4.0 Minor Changes - #8964 0353fa0 Thanks @dyc3! - Added ignore option to the useHookAtTopLevel rule. You can now specify function names that should not be treated as hooks, even if they follow the use* naming conventio...
2.3.15 Unknown 2.3.15 Patch Changes - #9019 043b67c Thanks @dyc3! - Added the lint rule noNestedPromises. This rule detects nested .then() or .catch() calls that could be refactored into flat promise chains. // Invalid: nested promise...
2.3.14 Unknown 2.3.14 Patch Changes - #8921 29e2435 Thanks @siketyan! - Fixed #8759: The useConsistentTypeDefinitions rule no longer converts empty object type declarations into interfaces, as it will conflict with the noEmptyInterface...
2.3.13 Unknown 2.3.13 Patch Changes - #8815 f924f23 Thanks @dyc3! - Improved useVueValidVOn to be more closely aligned with the source rule. It will now properly allow modifiers for all possible keyboard events. It should have better p...
2.3.12 Unknown 2.3.12 Patch Changes - #8653 047576d Thanks @dyc3! - Added new nursery rule noDuplicateAttributes to forbid duplicate attributes in HTML elements. - #8648 96d09f4 Thanks @BaeSeokJae! - Added a new nursery rule noVueOptio...