Sign in

Filip Sobol

@filipsobol.com
590 followers 288 following 152 posts

Building (mostly) open-source software. Follow for JavaScript, devtools, and performance content. 🛰️ sonda.dev — Universal bundle analyzer

PostsRepliesMedia
Filip Sobol @filipsobol.com · 18/03/2026
Recently added a connection diagram view to Sonda 👀 It complements the treemap view and makes it much easier to see how bundles and source files connect. Also, you can now upload JSON reports and get an instant HTML report: sonda.dev/demo
Directed Acyclic Graph (DAG) showing connections between JavaScript files, with one file selected and its incoming and outgoing dependencies highlighted.
040
Filip Sobol @filipsobol.com · 12/02/2026
Well, well, well... look who suddenly remembered they can ship new features. Right after the community started working on an alternative. What a coincidence! 🙃
The following new buttons were added to the package details page on npmjs.org: “Analyze security,” “Check bundle size,” “View package health,” and “Explore dependencies.”
111265
Filip Sobol @filipsobol.com · 25/08/2025
Here are the charts with absolute numbers👇
110
Filip Sobol @filipsobol.com · 25/08/2025
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 👇
2171
Filip Sobol @filipsobol.com · 09/07/2025
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.
050
Filip Sobol @filipsobol.com · 17/06/2025
So close to 500 stars... github.com/filipsobol/s...
130
Filip Sobol @filipsobol.com · 16/06/2025
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 👇
35212
Filip Sobol @filipsobol.com · 21/05/2025
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.
3183
Filip Sobol @filipsobol.com · 24/03/2025
Promotion happened. Staff Engineer.
Scene from a movie called The Naked Gun. The main character calmly says "Nothing to see here. Please disperse." while explosions and people running in panic can be seen in the background.
160
Filip Sobol @filipsobol.com · 06/01/2025
Do you mean DMs from people you follow or DMs in general? By default, only people you follow can DM you on BlueSky.
Information in the “Start a new chat” panel that Dominic can't be messaged
130
Filip Sobol @filipsobol.com · 04/01/2025
Actually, it looks like adding an extra `<script module lang="ts>` also works.
130
Filip Sobol @filipsobol.com · 30/12/2024
Sonda will soon have Angular integration too! If you'd like to give it a try, see this issue: github.com/filipsobol/s.... Already found duplicate dependencies in the server bundle in a fresh Angular project.
Modal showing that there are multiple copies of three packages bundled because different dependencies use them.
010
Filip Sobol @filipsobol.com · 17/12/2024
However, it doesn't change the overall results from the benchmark, still placing Rolldown in the last place. However, I got different results from you. I used the same command as in your screenshot. Would you mind sharing how you got them? My DM should be open.
100
Filip Sobol @filipsobol.com · 04/12/2024
The current TC39 signals polyfill is much slower than Vue's signals, and this was even before the recent optimizations by @johnsoncodehk.bsky.social. github.com/transitive-b...
Benchmark results showing that Vue's signals implementation is about 2.5 times faster than TC39 signals polyfill
0120
Filip Sobol @filipsobol.com · 01/12/2024
*Build time or build size?* I'm writing an article comparing tree-shaking capabilities of bundlers and looking for big JS libraries (100 KB+) I can use for testing. Any suggestions? The differences are big, especially between “old” and “new” bundlers (no names yet, but build time are a good hint)
Column chart showing build sizes of 7 unnamed bundlers. The smallest build is about 200 KB and the largest is about 710 KB.Column chart showing build times of 7 unnamed bundlers. The fastest build took about 200ms and the longest took about 6600ms.
270
Filip Sobol @filipsobol.com · 21/11/2024
sonda.dev/features/dep...
Meme with two panels. The first one has a bus driver saying "Don't make me tap the sign". Second panel has a sign saying "Just use Sonda" .
011
Filip Sobol @filipsobol.com · 15/11/2024
Next on sonda's roadmap is proper documentation. Besides explaining the library itself, it will include a knowledge base for troubleshooting tree-shaking issues, as there are surprisingly few resources that explain this in depth. Do you have any questions about tree-shaking?
Landing page for sonda with the main title saying "Universal visualizer and analyzer for JavaScript and CSS"
2164
Filip Sobol @filipsobol.com · 10/11/2024
You can already see this information when you click on a tile. Unless you are talking about something else?
Details about a file, including module type, sizes before and after compression, and a dependency tree showing what files imported it.
110
Filip Sobol @filipsobol.com · 10/11/2024
It's live! Enable the `sources` option to see the code included in the bundle. www.npmjs.com/package/sonda
4375
Filip Sobol @filipsobol.com · 08/11/2024
Soon you will be able to see the code that ended up in the bundle directly from `sonda`. Debugging tree-shaking issues will be so much easier. This is the feature that made me create this package in the first place, and I'm so happy to have it working. www.npmjs.com/package/sonda
3427
Filip Sobol @filipsobol.com · 06/11/2024
010
Filip Sobol @filipsobol.com · 03/11/2024
Here are some screenshots. Tile colors in the tree map chart represent how much a given file contributes to the final size of the bundle.
Tree map chart showing how much each file contributed to the final bundle sizeModal showing details of the entire bundle, such as sizes before and after compression, how much code is ESM or CJS, and a list of found external dependencies.Modal showing details of the individual file, such as sizes before and after compression, module type, and a list of files that import it.
030