biomejs / biome

A toolchain for web projects, aimed to provide functionalities to maintain them. Biome offers formatter and linter, usable via CLI and LSP.
https://biomejs.dev
Apache License 2.0
14.48k stars 451 forks source link
css formatter javascript json jsx linter static-code-analysis typescript web

Shows the banner of Biome, with its logo and the phrase 'Biome - Toolchain of the web'.

[![CI on main][ci-badge]][ci-url] [![Discord chat][discord-badge]][discord-url] [![npm version][npm-badge]][npm-url] [![VSCode version][vscode-badge]][vscode-url] [![Open VSX version][open-vsx-badge]][open-vsx-url] [![Polar bounties][polar-badge]][polar-url] [ci-badge]: https://github.com/biomejs/biome/actions/workflows/main.yml/badge.svg [ci-url]: https://github.com/biomejs/biome/actions/workflows/main.yml [discord-badge]: https://badgen.net/discord/online-members/BypW39g6Yc?icon=discord&label=discord&color=60a5fa [discord-url]: https://discord.gg/BypW39g6Yc [npm-badge]: https://badgen.net/npm/v/@biomejs/biome?icon=npm&color=60a5fa&label=%40biomejs%2Fbiome [npm-url]: https://www.npmjs.com/package/@biomejs/biome/v/latest [vscode-badge]: https://badgen.net/vs-marketplace/v/biomejs.biome?label=vscode&icon=visualstudio&color=60a5fa [vscode-url]: https://marketplace.visualstudio.com/items?itemName=biomejs.biome [open-vsx-badge]: https://badgen.net/open-vsx/version/biomejs/biome?label=open-vsx&color=60a5fa [open-vsx-url]: https://open-vsx.org/extension/biomejs/biome [polar-badge]: https://polar.sh/embed/seeks-funding-shield.svg?org=biomejs [polar-url]: https://polar.sh/biomejs
[हिन्दी](https://github.com/biomejs/biome/blob/main/packages/%40biomejs/biome/README.hi.md) | English | [繁體中文](https://github.com/biomejs/biome/blob/main/packages/%40biomejs/biome/README.zh-TW.md) | [简体中文](https://github.com/biomejs/biome/blob/main/packages/%40biomejs/biome/README.zh-CN.md) | [日本語](https://github.com/biomejs/biome/blob/main/packages/%40biomejs/biome/README.ja.md) | [Português do Brasil](https://github.com/biomejs/biome/blob/main/packages/%40biomejs/biome/README.pt-BR.md) | [한글](https://github.com/biomejs/biome/blob/main/packages/%40biomejs/biome/README.kr.md)
**Biome** is a performant toolchain for web projects, it aims to provide developer tools to maintain the health of said projects. **Biome is a [fast formatter](./benchmark#formatting)** for _JavaScript_, _TypeScript_, _JSX_, _JSON_, _CSS_ and _GraphQL_ that scores **[97% compatibility with _Prettier_](https://console.algora.io/challenges/prettier)**. **Biome is a [performant linter](https://github.com/biomejs/biome/tree/main/benchmark#linting)** for _JavaScript_, _TypeScript_, _JSX_, _CSS_ and _GraphQL_ that features **[more than 270 rules](https://biomejs.dev/linter/rules/)** from ESLint, typescript-eslint, and [other sources](https://github.com/biomejs/biome/discussions/3). It **outputs detailed and contextualized diagnostics** that help you to improve your code and become a better programmer! **Biome** is designed from the start to be used [interactively within an editor](https://biomejs.dev/guides/integrate-in-editor/). It can format and lint malformed code as you are writing it. ### Installation ```shell npm install --save-dev --save-exact @biomejs/biome ``` ### Usage ```shell # format files npx @biomejs/biome format --write ./src # lint files and apply the safe fixes npx @biomejs/biome lint --write ./src # run format, lint, etc. and apply the safe fixes npx @biomejs/biome check --write ./src # check all files against format, lint, etc. in CI environments npx @biomejs/biome ci ./src ``` If you want to give Biome a run without installing it, use the [online playground](https://biomejs.dev/playground/), compiled to WebAssembly. ## Documentation Check out our [homepage][biomejs] to learn more about Biome, or directly head to the [Getting Started guide][getting-started] to start using Biome. ## More about Biome **Biome** has sane defaults and it doesn't require configuration. **Biome** aims to support [all main languages][language-support] of modern web development. **Biome** [doesn't require Node.js](https://biomejs.dev/guides/manual-installation/) to function. **Biome** has first-class LSP support, with a sophisticated parser that represents the source text in full fidelity and top-notch error recovery. **Biome** unifies functionality that has previously been separate tools. Building upon a shared base allows us to provide a cohesive experience for processing code, displaying errors, parallelize work, caching, and configuration. Read more about our [project philosophy][biome-philosophy]. **Biome** is [MIT licensed](https://github.com/biomejs/biome/tree/main/LICENSE-MIT) or [Apache 2.0 licensed](https://github.com/biomejs/biome/tree/main/LICENSE-APACHE) and moderated under the [Contributor Covenant Code of Conduct](https://github.com/biomejs/biome/tree/main/CODE_OF_CONDUCT.md). ## Funding You can fund the project in different ways ### Project sponsorship and funding You can sponsor or fund the project via [Open collective](https://opencollective.com/biome) or [GitHub sponsors](https://github.com/sponsors/biomejs) Biome offers a simple sponsorship program that allows companies to get visibility and recognition among various developers. ### Issue funding We use [Polar.sh](https://polar.sh/biomejs) to up-vote and promote specific features that you would like to see and implement. Check our backlog and help us: ## Sponsors ### Silver Sponsors
### Bronze Sponsors
[biomejs]: https://biomejs.dev/ [biome-philosophy]: https://biomejs.dev/internals/philosophy/ [language-support]: https://biomejs.dev/internals/language-support/ [getting-started]: https://biomejs.dev/guides/getting-started/