- cross-posted to:
- javascript@programming.dev
- cross-posted to:
- javascript@programming.dev
Biome lead here, so feel free to ask anything!
Biome is an integrated linter and formatter with support for JavaScript, TypeScript, CSS, and more.
Highlights of the release:
- Plugins: You can write custom lint rules using GritQL.
- Domains: Domains help to group lint rules by technology, framework, or well, domain. Thanks to domains, your default set of recommended lint rules will only include those that are relevant to your project.
- Multi-file analysis: Lint rules can now apply analysis based on information from other files, enabling rules such as noImportCycles.
noFloatingPromises
: Still a proof-of-concept, but our first type-aware lint rule is making an appearance.- Our Import Organizer has seen a major revamp.
- Assists: Biome Assist can provide actions without diagnostics, such as sorting object keys.
- Improved suppressions: Suppress a rule in an entire file using
// biome-ignore-all
, or suppress a range using// biome-ignore-start
and// biome-ignore-end
. - HTML formatter: Still in preview, this is the first time we ship an HTML formatter.
- Many, many, fixes, new lint rules, and other improvements.
A short intro on what Biome is would be helpful - specifically here in a more general community, but also typically in release notes.
Quoting the home landing page:
Biome is a fast formatter for JavaScript, TypeScript, JSX, TSX, JSON, CSS and GraphQL that scores 97% compatibility with Prettier, saving CI and developer time.
Formatter and linter in one even :) I’ve updated the message at the top.
Where are we with plugins’ support? 😃
They’re included in the beta!
Specifically, you can create GritQL plugins for custom linter diagnostics. There’s certainly more we’d like to do on that front, but we’re first going to see how these are being received to decide where to prioritise next.
Thanks for the info! 🙂
Okay, can you ELI5 what this is, what it does, and what you(the project) want this to accomplish for someone like me who wanted to learn programming 30 years ago, and made a snowfield in turbopascal but couldnt continue because my highschool sucked so bad?
Edit: my okay was in response to feel free to ask me anything. I’m taking your words as written
Haha, sure thing!
So, today, TurboPascal isn’t a very popular programming language anymore. But that’s okay! We have new programming languages nowadays. Some of the popular languages that we use today include JavaScript, TypeScript and CSS. You don’t need to know much about these languages, except that they’re commonly used for creating websites and apps that run on the web.
Now, assume you want to create a website or a webapp, and you were to learn these languages for that purpose. In that case you have quite a learning experience ahead of you, which is great! Learning can be fun! But what’s not so great is that these languages have lots of room to make mistakes. Now, everyone makes mistakes, that’s just a fact of life, but when mistakes can be avoided, that’s generally preferred.
This is where Biome comes in: It is a tool – we call it a linter – that helps you to detect many kinds of common mistakes. It can show you where these mistakes are, and sometimes even fix them for you. It can also show you possible mistakes, things that are not necessarily a mistake, but things that look suspicious.
And on top of that, Biome offers you another tool: It’s called a formatter. When you write your code, it automatically takes care for you that the code looks consistent. So it fixes things like indentation and other use of whitespace for you, as well as where to place your parentheses and stuff like that.
Together, hopefully these two things can make your programming experience a little bit more enjoyable. Cheers!
Thanks for the time and effort.
I was confused we weren’t using C+ at the time i was “learning”
We were using 286 sx machines and Pentium 2s were already out.
It was a department that didn’t have anyone in it that apparently actually knew what they were doing. Absolutely killed my idea of becoming a game programmer.
Just wish i could have had my beat friends dad teach me, but that just never happened sadly
In the GitHub repo I see that Biome is written in Rust, but the README install lists and only lists npm install.
I see the GitHub release has built binaries. Given that it’s written in Rust, can it also be installed through cargo?
We don’t currently publish to Crates.io, but we do have CI integrations that can install without needing NPM.
Very excited about this one. Biome simplified my formatter setup experience massively.
My only issue is that the installation doesn’t work without hacks on my Nix install :/
I don’t have Nix experience myself, but what would it take to be better supported there? I think we’d be open to PRs for that ☺️
I believe there have already been a handful of reports on this, like this one. For now i’ve settled on what the final comment suggests, and it seems to work, but the core issue stems from how Nix and its linker work