kocal/biome-js-bundle
Symfony bundle that integrates Biome, the fast JavaScript, TypeScript, and JSON formatter and linter, into your project. Configure Biome from Symfony and run checks or formatting through convenient console commands.
biome.json. Choosing it settles style-tool debates by default configuration instead of ESLint/Prettier plugin churn.Adoption signals to weigh: 32 stars, 0 dependents, effectively single-maintainer, MIT, last release v2.1.2 (Dec 2025, actively maintained), opportunity score ~40.6 (moderate). Read this as "useful convenience wrapper, low ecosystem validation" — viable for a pilot, not for a platform dependency without a fallback.
What the latest release changes (v2.1.2): nothing decision-relevant, but two mildly positive signals. (1) CI now runs against Symfony 8 stable, so the bundle is tracking the framework's next major rather than lagging — it lowers the "will this be abandoned when we upgrade" risk slightly. (2) A .gitattributes fix is packaging hygiene (smaller/cleaner dist archives), worth noting only because a thin wrapper shipping clean dists is a proxy for maintainer discipline. No new features, no breaking changes, no deprecations. The adoption calculus, the build-vs-buy call, and the port estimate for Laravel are all unchanged.
Adopt when:
composer.lock alongside PHP dependencies for reproducibility.Look elsewhere when:
@biomejs/biome as a devDependency and skip the wrapper entirely.Gate before adoption: pin both the bundle and the Biome version; audit the downloader (checksum verification, platform/arch detection, cache path, failure behavior); define a one-line fallback (npx @biomejs/biome or a committed binary). Timebox the spike to half a day on a single app. Note that a patch release validating Symfony 8 in CI is not the same as documented support — confirm the composer.json constraint actually permits Symfony 8 before planning an upgrade around it.
For executives: "This lets our PHP application lint and format front-end code without adding Node.js to our stack. A single Rust binary — fast, one config file — replaces ESLint and Prettier for most of our needs, gets pinned by Composer alongside our PHP dependencies, and removes an entire runtime from our CI images and maintenance surface. Cost is effectively zero and it's MIT-licensed. The risk is that the wrapper is small and lightly adopted, so we pin versions and keep a one-line fallback. The maintainer is still shipping (latest patch added Symfony 8 coverage), which is reassuring but not a substitute for our own fallback. Recommendation: timeboxed pilot on one application, measured on CI build time and image size."
For engineering: "It's a Symfony bundle that downloads the Biome standalone binary and exposes lint/format commands, so the front-end toolchain lives in Composer instead of npm. Biome is Rust-based, typically far faster than ESLint + Prettier on the same repo, and covers JS/TS/JSON/CSS with a single biome.json. Trade-offs: fewer rules than ESLint's plugin ecosystem and no meaningful type-aware linting yet, so audit our rule dependencies first. The package itself is thin — review the downloader's checksum and platform-detection logic before trusting it, and be prepared to fork or inline it if we adopt broadly. v2.1.2 was a maintenance patch (Symfony 8 test matrix, .gitattributes cleanup) — nothing to migrate, nothing breaking, but also nothing that changes our porting math. For Laravel, plan on porting it to a service provider plus an Artisan command in about a day; that port cost is part of the buy-vs-build call."
How can I help you explore Laravel packages today?