Filip Sobol
filipsobol.bsky.social
Filip Sobol
@filipsobol.bsky.social
Building (mostly) open-source software. Follow for JavaScript, devtools, and performance content.

🛰️ https://sonda.dev — Universal bundle analyzer
Pinned
Sonda v0.8 is here, and it's the biggest release to date.

It introduces a new UI that makes it easier to inspect and visualize large projects. It also displays more information about assets, inputs, external dependencies, and import relationships.

Demo and details below 👇
Reposted by Filip Sobol
tinyglobby is a great success, and has shown us how much we can improve perf for everyone. here's some of the story!

big thanks to @superchupu.dev and @benmccann.com for putting so much work into this and the migrations/adoption. we're lucky to have both in the @e18e.dev community 💙
tinyglobby: a success story in modernization and performance
The story of tinyglobby, one of the e18e community's most successful projects
e18e.dev
November 11, 2025 at 4:55 PM
Reposted by Filip Sobol
View transitions are in every browser now ✨
Firefox now supports view transitions, the command and commandfor HTML attributes, and the moveBefore() method.

www.firefox.com/en-US/firefo...
Firefox 144.0, See All New Features, Updates and Fixes
www.firefox.com
October 14, 2025 at 6:41 PM
Reposted by Filip Sobol
We all dodged a bullet
The newest post on Xe Iaso's blog
xeiaso.net
September 9, 2025 at 1:53 PM
Reposted by Filip Sobol
second: devs tend to fixate on repetitiveness as a sign of poor code quality. but the cure is often worse than the disease, because if unchecked it leads to the thing that, in my experience, really _is_ a sign of poor code quality: indirection. when you're writing code, indirection is your nemesis.
September 9, 2025 at 5:52 PM
Reposted by Filip Sobol
some thoughts about the bloat introduced by edge-case first libraries
The bloat of edge-case first libraries
How building edge-case first led to bloated, overly-granular libraries and what we can do about it
43081j.com
September 9, 2025 at 12:58 PM
Reposted by Filip Sobol
Great benchmark! We're continuously optimizing Rspack for faster builds and smaller bundle sizes.

It's worth noting that webpack/Rspack produce larger bundles in this case due to different handling of dynamic require() in moment.js, see github.com/filipsobol/b...
September 2, 2025 at 3:18 AM
Reposted by Filip Sobol
The Register wrote a story about a single maintainer open source project, I think it's shameful and upsetting

So I wrote a blog post about it

An absolutely ridiculous amount of open source is one person projects. I have the data to prove it

opensourcesecurity.io/2025/08-oss-...
Open Source is one person
The Register recently published a story titled Putin on the code: DoD reportedly relies on utility written by Russian dev. They should be ashamed of this story, and the company behind the ambulance ch...
opensourcesecurity.io
August 28, 2025 at 1:41 AM
About 10 months ago I benchmarked the most popular bundlers to compare build speed and bundle size (tree-shaking + minification).

I just re-ran the tests with the latest versions to see what’s changed 👇
August 25, 2025 at 9:40 PM
Multithreaded linting just landed in ESLint!

eslint.org/blog/2025/08...
August 22, 2025 at 9:21 PM
Reposted by Filip Sobol
oxlint + tsgolint = no slow down!

no-floating-promises completes 4.4k files in 3.2 seconds, in the vscode repo.

typescript-go is the future, all credits to the ts-go team! We just glued everything together 😀

github.com/microsoft/ty...
July 19, 2025 at 4:12 AM
Reposted by Filip Sobol
Oxlint is making a huge step forward! Two new updates:

JS custom rules, with ESLint compatible API are on the way. The first prototype gives a good speedup already! 🔥

Type-aware rules. Full coverage no-floating-promise through tsgolint, integrated like the other oxlint rules and extremely fast.
July 19, 2025 at 7:55 AM
When @eslint.org added official support for Markdown files, I figured it could be perfect for validating changeset files.

It fits the use case really well.
July 9, 2025 at 9:03 AM
Big week for Sonda. After 6 months of work, v0.8 is finally out. v0.8.1 and v0.8.2 followed with QoL improvements and minor bug fixes.

This week, it also hit 500+ GitHub stars and 20K weekly downloads on npm.

Feels like v1.0 is getting close.
Sonda v0.8 is here, and it's the biggest release to date.

It introduces a new UI that makes it easier to inspect and visualize large projects. It also displays more information about assets, inputs, external dependencies, and import relationships.

Demo and details below 👇
June 20, 2025 at 5:39 PM
Reposted by Filip Sobol
I declined a $1,000/month ESLint sponsorship from a pay-for-follows company. That's not the type of sponsor we want. It's frustrating that these types of companies (as well as online casinos) are more willing to sponsor ESLint than tech companies where ESLint is used.
June 19, 2025 at 8:34 PM
I wrote an article about how we cut CKEditor’s bundle size by 40% by improving tree-shaking.

It covers the tools and processes we used, how we measured improvements and caught regressions, along with techniques you can apply in your own libraries.

ckeditor.com/blog/how-we-...
How We Reduced CKEditor’s Bundle Size by 40% | CKEditor
Learn how we cut CKEditor 5’s bundle size by 40% with better tree-shaking, and get tips, tools, and processes to slim down your own libraries.
ckeditor.com
June 18, 2025 at 4:06 PM
So close to 500 stars...

github.com/filipsobol/s...
June 17, 2025 at 8:38 PM
Reposted by Filip Sobol
Production bundle quality matters.

In Rspack 1.4, we collaborated with SWC to improve dead code elimination. For example, Rspack and SWC can now produce the smallest bundle for react-router-dom.
June 17, 2025 at 11:23 AM
Reposted by Filip Sobol
I handled a Webpack-to-Vite migration for a large-ish project, and the lack of a decent bundle analyzer was a major pain point of the Vite ecosystem. Sonda solves this problem beautifully.
Sonda v0.8 is here, and it's the biggest release to date.

It introduces a new UI that makes it easier to inspect and visualize large projects. It also displays more information about assets, inputs, external dependencies, and import relationships.

Demo and details below 👇
June 16, 2025 at 2:12 PM
Sonda v0.8 is here, and it's the biggest release to date.

It introduces a new UI that makes it easier to inspect and visualize large projects. It also displays more information about assets, inputs, external dependencies, and import relationships.

Demo and details below 👇
June 16, 2025 at 1:44 PM
Reposted by Filip Sobol
TypeScript excitement 😉

Congrats to @searyanc.dev on landing big updates to the default tsconfig settings used by `tsc --init` 🎉

Defaults matter - and in TS 5.9 they embrace simplicity 💙

🔷 ESM (was CommonJS)
🔷 No down-leveling (was ES2016)
🔷 verbatimModuleSyntax: true

github.com/microsoft/Ty...
tsc --init update by RyanCavanaugh · Pull Request #61813 · microsoft/TypeScript
Fixes #58420 Sample outputs tsc --init { // Visit https://aka.ms/tsconfig to read more about this file "compilerOptions": { // File Layout // "rootDir": "./sr...
github.com
June 7, 2025 at 9:36 AM
Reposted by Filip Sobol
Today we are excited to announce Rolldown-Vite: a technical preview of the version of @vite.dev entirely powered by the Rust stack we built over the past year (Oxc + @rolldown.rs)

voidzero.dev/posts/announ...
Announcing Rolldown-Vite
We are building the next generation of JavaScript tooling
voidzero.dev
May 30, 2025 at 3:33 PM
Linting our biggest codebase with a bunch of rules (including many custom ones) currently takes about 38s.

Adding `--concurrency=auto` dropped it to 12 seconds.

Can't wait for this to be released.
eslint.org ESLint @eslint.org · May 29
The RFC 'feat: multithread linting' has been approved and merged!

https://github.com/eslint/rfcs/pull/129
May 30, 2025 at 7:26 AM
TIL that TypeScript 6 will deprecate 'node' / 'node10' module resolution strategy. This will fix so many issues for library authors.

Thanks @typescriptlang.org team 🙏
May 22, 2025 at 3:43 PM
Reposted by Filip Sobol
Today we're announcing previews of the native port of TypeScript! These nightly previews will be available on npm and the VS Code marketplace!

npm install -D @​typescript/native-preview
npx tsgo --version

Read up more on our blog!
Announcing TypeScript Native Previews - TypeScript
Previews of the native TypeScript port are now available on npm and for VS Code through the Visual Studio Marketplace!
devblogs.microsoft.com
May 22, 2025 at 3:09 PM
Sneak peek of the new Sonda design that I’ve been working on for the past few months. Well... it started as a redesign, but turned into a full rewrite of both the frontend and backend.

The new design should work much better for big projects and set the stage for what’s next.
May 21, 2025 at 5:59 PM