Posts by Filip Sobol
CSS nesting is now Baseline 🎉
Write nested selectors directly in CSS — just like Sass, but natively.
.card {
color: black;
&:hover { color: blue; }
.title { font-weight: bold; }
}
No preprocessor needed.
Learn more 👇
developer.mozilla.org/en-US/docs/...
Some thoughts about AI-assisted coding and how it affects my brain. I'm more productive and more exhausted at the same time.
marvinh.dev/blog/ddosing...
Some recent Rspack benchmark trends.
Rspack 2.0 work is helping improve performance steadily⚡️
TypeScript 6.0 is now available!
This release brings better type-checking for methods, new standard library features, new module features for Node.js, and more!
But most important, this release brings us one step closer to the upcoming native-speed 7.0!
devblogs.microsoft.com/typescript/a...
new post on my personal blog.
i think these three areas often go unexplained, so hopefully this explains why some of these packages exist. these are fine to exist but the majority of developers shouldn't have to pay the cost for them.
Directed Acyclic Graph (DAG) showing connections between JavaScript files, with one file selected and its incoming and outgoing dependencies highlighted.
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
Vitest 4.1 is out! 🚀
✅ Vite 8 support from day 1
🏷️ Test tags to organize, filter & apply shared options
🪝 New hooks for easier tracing, transactions and AsyncLocalStorage
🔍 Async leak detection
🤖 Agent reporter to reduce token usage
And much more!
Full blog post at vitest.dev/blog/vitest-...
⚡️ Vite 8.0 is here!
The most significant architectural change since Vite 2.
⏬ Powered by @rolldown.rs bringing faster production builds and more consistency
🛤️ New features such as tsconfig paths and emitDecoratorMetadata support
vite.dev/blog/announc...
Node.js is moving to one major release per year starting with Node 27! 🚀
✅ Simpler: Every release becomes LTS.
✅ Predictable: Version numbers now align with the year.
✅ New: A 6-month Alpha channel for early testing.
https://bit.ly/4rnosLg
Happy Monday CSS gang. Let's improve CSS minifiers!
Here's a suite of 350 minifier tests I've written that show there's lots of opportunities for minifiers to do better: www.keithcirkel.co.uk/css-minify-t...
I know you all can help add 350 more, so come contribute! github.com/keithamus/cs...
🙋♂️ I _could not be more thrilled_
this isn't a zero-sum game
we're here to make the web better for everyone, and this is a win 🔥
props to @npmjs.bsky.social 🙏
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.”
Well, well, well... look who suddenly remembered they can ship new features. Right after the community started working on an alternative. What a coincidence! 🙃
We’ve already tested how AI can help with the migration, and the results are VERY promising. Vitest’s popularity and API similarity to other runners helps a lot.
We’ll likely be able to automate the vast majority of the migration and only manually handle the tricky parts.
We’ve been very happy users of Vitest’s Browser Mode since it was introduced. Soon, we’ll be migrating our largest codebases (~35k tests) from Karma to Vitest.
Not exaggerating when I say that we can’t wait to get started 😅
TypeScript 6.0 beta is now published!
This release brings
- inference improvements for functions
- updates to package.json 'imports'
- the Temporal APIs
- alignments for the upcoming TypeScript 7.0
- & more!
Try it today!
devblogs.microsoft.com/typescript/a...
In Firefox 147, you no longer need heavy libraries to (de)compress brotli with JS - you can just use CompressionStream and DecompressionStream!
I made something new: an eslint plugin to validate your npm ecosystem lockfiles! It supports npm, pnpm, yarn, bun, and vlt, and it's already helped find a supply chain security attack vector inside a fortune 500 tech company. www.npmjs.com/package/esli...
A JAEGER UI chart showing a run of vitest with data collected through the OpenTelemetry integration.
Want to understand why some of your @vitest.dev tests are slower than expected? Then you can use the built-in experimental @opentelemetry.io support to figure out what makes tests slow and how much time is spent on each part of it. 📈
⚔️introducing TypeSlayer⚔️ A #typescript type performance benchmarking and analysis tool. A summation of everything learned from the benchmarking required to make the Doom project happen.
It's got MCP support, Perfetto, Speedscope, Treemap, duplicate package detection, and more.
We've got some updates on TypeScript 7! The new native port
- can type-check any project
- supports --build and --incremental
- has rich editor features implemented
- is still 10x faster
and is ready for you to try today!
devblogs.microsoft.com/typescript/p...
a GitHub PR titled `fix(adobe): handle provider configuration objects properly` with the following text: 🐛 Bug Fix Potentially fixes Adobe font-face declaration generation regression introduced in v0.12.1. Closes #736 ⚠️ Note: This fix was developed with AI assistance This PR was blindly developed by AI, without me having deep any knowledge of @nuxt/fonts internals. While it's (claimed by Claude to) been tested and appears (again, according to Claude) to work correctly, a thorough review by @danielroe or someone familiar with the fontless/unifont architecture would be appreciated.
I actually love this disclaimer
The glob library on npm currently has a CVE. It's entirely predictable since it has 26 dependencies.
If you're getting a security warning from glob it's a good time to see if you can switch to a lighter dependency such as tinyglobby or Node's built-in glob functionality: nodejs.org/api/fs.html#...
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 💙
View transitions are in every browser now ✨
We all dodged a bullet
https://xeiaso.net/notes/2025/we-dodged-a-bullet/
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.
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...