Adding a formatter for CSS & JS

Hi gang!

I’ve started a thread about the CI thing here. I’ll add a bit more in the coming days.

FWIW, I’d also had a note of recommendation for Biome, I came across it via @adamchainz’s book, and it seems to offer a way to insulate yourself from the churn that people often associate with the js ecosytem.

Biome has sane defaults and it doesn’t require configuration.

Biome aims to support all main languages of modern web development.

Biome doesn’t require Node.js to function.

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.

If the intention is to provide a bunch of safe, relatively config-free defaults for js and css, without requiring people to know too much about Node.js, prettier syntax, ES lint and so-on, then a tool like Biome seems to fit fairly well. I also appreciate how there goal of providing a consistent set of hints and errors for js and html and css - if you don’t work with front end code all day long, having to learn how to read multiple kinds of errors from multiple kinds of all tools feels like overhead I’d happily avoid.

You can see all the languages / syntaxes supported now, and which ones are planned, in their language support page.

Source: biomejs/biome: A toolchain for web projects, aimed to provide functionalities to maintain them. Biome offers formatter and linter, usable via CLI and LSP.

Update: I was curious about whether the Biome binary is really just “node in a trenchcoat” - i.e. a full fat js runtime with a bit of js added to define it’s behaviour. This a fairly common pattern in the js ecosystem for creating binaries - I think Tailwind does this.

From what I can see though, Biome appears to be a ‘real’ Rust binary, if the github release CLI action is anything to go by. This makes me think it might help for making it easier to consume in the Python/Django ecosystem, because wrapping Rust binaries is pretty common pattern for Python projects now.

2 Likes