Biome is a performant linter for JavaScript, TypeScript, JSX, CSS and GraphQL that features more than 270 rules from ESLint, typescript-eslint, and other sources.
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.
It can format and lint malformed code as you are writing it.
# 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, compiled to WebAssembly.
Documentation
Check out our homepage to learn more about Biome,
or directly head to the Getting Started guide to start using Biome.
More about Biome
Biome has sane defaults and it doesn't require configuration.
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.
Biome offers a simple sponsorship program that allows companies to get visibility and recognition among various developers.
Issue funding
We use Polar.sh to up-vote and promote specific features that you would like to see and implement. Check our backlog and help us:
Sponsors
Gold Sponsors
Silver Sponsors
Bronze Sponsors
v1.9.2 (2024-09-19)
CLI
New features
Added support for custom GritQL definitions, including:
Pattern and predicate definitions: https://docs.grit.io/guides/patterns
Function definitions: https://docs.grit.io/language/functions#function-definitions
Contributed by @arendjr
Bug fixes
Fix #3917, where the fixed files were incorrectly computed. Contributed by @ematipico
Fixed an issue that caused GritQL contains queries to report false positives when the matched
node appeared inside a sibling node. Contributed by @arendjr
Editors
Bug fixes
Fix #3923. Now the .editorconfig is correctly parsed by the LSP, and the options are correctly applied to files when formatting is triggered.
Plus, the Biome LSP now watches for any change to the .editorconfig, and updates the formatting settings.
Reduced the number of log files generated by the LSP server. Now the maximum number of logs saved on disk is seven. Contributed by @ematipico
Fix the code actions capabilities available in the LSP Biome server. Before, the LSP was using the default capabilities, which resulted in pulling code actions even when they were disabled by the editor.
This means that the code actions are pulled by the client only when the editor enables quickfix.biome, source.organizeImports.biome and source.fixAll.biome.
Now, if you enable organizeImports.enabled: true in the biome.json, and then you configure your editor with the following code action source.organizeImports.biome: false, the editor won't sort the imports.
Add nursery/useComponentExportOnlyModules. Use this rule in React projects to enforce a code styling that fits React Refresh. Contributed by @GunseiKPaseri
Biome is a toolchain for the web: formatter, linter and more
The npm package @biomejs/biome receives a total of 461,426 weekly downloads. As such, @biomejs/biome popularity was classified as popular.
We found that @biomejs/biome demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.It has 4 open source maintainers collaborating on the project.
Package last updated on 19 Sep 2024
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.