Navigate:
~$BIOME0.5%

Biome: Web development toolchain for formatting and linting

Unified toolchain providing fast formatting and linting for JavaScript, TypeScript, CSS, and JSON with CLI and LSP.

LIVE RANKINGS • 05:03 AM • STEADY
TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100
OVERALL
#82
40
DEVELOPER TOOLS
#12
3
30 DAY RANKING TREND
ovr#82
·Devel#12
STARS
23.5K
FORKS
846
7D STARS
+109
7D FORKS
+11
See Repo:
Share:

Learn more about Biome

Biome is a web development toolchain that consolidates formatting and linting functionality into a single tool. It processes JavaScript, TypeScript, JSX, JSON, CSS, and GraphQL files through a shared parser and analysis engine. The tool provides over 340 linting rules derived from ESLint and typescript-eslint, along with formatting that maintains 97% compatibility with Prettier. Biome operates as both a command-line interface and Language Server Protocol implementation for editor integration.

Biome

1

Unified Architecture

Combines formatting and linting in a single tool with shared parsing and analysis infrastructure. This unified approach reduces tooling complexity and provides consistent code processing.

2

No Node.js Dependency

Runs independently without requiring Node.js runtime, making it suitable for various deployment environments. The tool can be installed and executed in contexts where Node.js is not available.

3

Full Fidelity Parser

Maintains complete source text representation with sophisticated error recovery capabilities. The parser preserves all original formatting and whitespace information for accurate code transformations.


# Install Biome as a dev dependency
npm install --save-dev --save-exact @biomejs/biome

# Or use other package managers
yarn add --dev --exact @biomejs/biome
pnpm add --save-dev --save-exact @biomejs/biome


v@biomejs/biome@2.3.13

Biome CLI v2.3.13

  • #8856 - Fixed #8710: Biome now parses Vue dynamic slot shorthand arguments that use template literals in `[]`.
  • #8850 - Fixed #8708: Tailwind `@utility` directives now parse functional utility names like `px-*` when Tailwind directives are enabled.
  • #8863 - Fixed an issue with `biome migrate eslint` where it couldn't detect rules for CSS, GraphQL, and HTML.
  • #8771 - Fix the `--reporter=summary` output incorrectly merging and displaying wrong issue counts for different rules. Fixes #8730
  • #8714 - Added new nursery rule `use-consistent-enum-value-type`. This rule disallows enums from having both number and string members.
v@biomejs/biome@2.3.12

Biome CLI v2.3.12

  • #8653 - Added new nursery rule `noDuplicateAttributes` to forbid duplicate attributes in HTML elements.
  • #8648 - Added a new nursery rule `noVueOptionsApi`.
  • #8793 - Properly handle `parameters` metavariables for `arrow_function` GritQL queries. The following `biome search` command no longer throws an error:
  • #8561 - Fixed `noUnusedVariables` to ignore type parameters declared in ambient contexts such as `declare module` blocks.
  • #8817 - Fixed #8765: The HTML parser can now parse directive modifiers with a single colon, e.g. `@keydown.:`.
v@biomejs/biome@2.3.11

Biome CLI v2.3.11

  • #8583 - Added the new nursery rule `useVueValidTemplateRoot`.
  • #8587 - Added the rule `useVueVForKey`, which enforces that any element using `v-for` also specifies a `key`.
  • #8586 - Added a new nursery rule `useVueConsistentVOnStyle`. Enforces consistent `v-on` style (`@event` shorthand vs `v-on:event` longhand). Default prefers shorthand; configurable via rule options.
  • #8583 - Added the new nursery rule `useVueValidVOnce`. Enforces that usages of the `v-once` directive in Vue.js SFC are valid.
  • #8509 - Added support for parsing and formatting the Svelte `{#await}` syntax, when `html.experimentalFullSupportEnabled` is set to `true`.


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers