Boshen

Boshen

@boshen.github.io

Building http://oxc.rs and https://rolldown.rs at https://voidzero.dev. TC39 invited expert.

3.6K followers114 following178 posts

Boshen reposted

Wondering which frameworks Oxlint and Oxfmt support? The Oxc docs now have a compatibility page with details for each framework & file type Almost all front-end frameworks have full or at least partial support for linting and formatting 🎉 Note: This also applies to `vp lint` and `vp fmt` of Vite+

Oxc Open Collective distributes all of its funds to its core contributors. Payouts depend on how much runway we have. The only problem is ... it's now getting dirty money, how do I reject it?

Oxlint -> Sentry > we had an outdated Eslint 8.x setup anyways and we needed to either upgrade it or move to something else. Oxlint brings so much speed gains given how slow linting is, and almost no one is running it locally project wide because of how slow it is. github.com/getsentry/se...

github.comchore: migrate to oxlint by logaretm · Pull Request #19134 · getsentry/sentry-javascriptReplaces eslint with oxlint, we had an outdated Eslint 8.x setup anyways and we needed to either upgrade it or move to something else. Oxlint brings so much speed gains given how slow linting is, a...

Oxfmt 1 million weekly downloads! Thank you all for the support! --- Oxfmt is a high-performance formatter for the JavaScript ecosystem.

Kibana exploring Vite 8 and Oxlint is so freaking exciting! Oxlint finishes 85k files in 7 seconds. Kibana is one of our most tested repo because that's what I intended to build initially - a toolchain that can work on huge monorepos. 1259 TS packages in this case. github.com/elastic/kiba...

github.com[POC] Modernize Kibana (ESM first + Vite + Rolldown + Oxlint + TS-Go) by CoenWarmer · Pull Request #252569 · elastic/kibanaSummary This PR migrates Kibana's build toolchain from webpack + babel to Vite 8 / Rolldown / esbuild / OXC, establishing a TypeScript-first, ESM-native development and build workflow. ...

Boshen reposted

Just migrated from Biome & Prettier to oxlint & oxfmt 🚀 I love the true type-aware linting and Tailwind formatting! I'm also able to use React Compiler rules through the JS plugin support 😌 Many thanks to @boshen.github.io, @dunqing.bsky.social and other maintainers for all your hard work ❤️

Matija Marohnić@silvenon.com

- oxfmt supports Tailwind formatting - oxlint supports real type-aware linting, and can perform both lint and typecheck in one go The cherry on top would be if React managed to port React Compiler to Rust, that means that oxlint could start supporting those lint rules.

Boshen reposted

Just ran oxfmt on our 35k+ files Vue codebase. It took 10 seconds vs prettier taking 63 seconds. But the most impressive part for me is that only 27 files ended up being formatted differently. Incredible work (on an alpha version, no less) @boshen.github.io @voidzero.dev !

I’ve also added copilot-setup-steps.yml to support future bug fixes. Copilot should be able to handle most issues, as the codebase is well structured. Thank you @cathal.dev for making this possible.

In the latest version of Oxfmt (better prettier replacement): • oxfmt --migrate prettier • oxfmit --init • oxfmt --stdin-filepath for pipe usage • Node.js API • Sort package.json fields by default • Respect root .editorconfig Give it a try: • www.npmjs.com/package/oxfmt

Need some quick stats? Tell Claude to write a script. It took one minute to write and generate the data I wanted for this PR. Also happy to see modern tooling like tshy and tsdown in package.json fields.

Thank you ZephyrCloudIO for the super generous GitHub sponsorship! Zephyr Cloud is a transformative, cloud-agnostic platform that accelerates software delivery—from agile startups to global enterprises.

AI experiment this week: Instead of letting AI writing all the code, I proposed all my designs by iterating with Claude. It’s far more effective than writing design docs or have design meetings. Claude asked a lot of design decisions and showed problems that I didn't know existed.

All of these PRs are throwaway PRs, they help us surface problems quickly and plan any necessary architectural refactoring before committing to real work. We can also cherry-pick the smaller pieces so the final feature PRs stay clean and focused.

Have a large codebase using vitest? Please help stabilize the new module cache feature.