Roman Dvornov
@rdvornov.bsky.social
55 followers 74 following 7 posts
Engineer at Microsoft / Frontend researcher, author of CPUpro, React Render Tracker, CSSTree, Discovery.js https://github.com/lahmatiy
Posts Media Videos Starter Packs
rdvornov.bsky.social
✍️ New article: Web Streams in Depth – Part 1: The Challenge of Modern Data

From callbacks to for await...of, and from Node.js Streams to the Web Streams API — here's how JavaScript evolved to handle massive data efficiently, everywhere.
Web Streams in Depth, Part 1: From Callbacks to Streams
Introduction: The Challenge of Modern Data JavaScript has come a long way from its humble...
dev.to
rdvornov.bsky.social
CPUpro 0.7.0 brings an enhanced All Call Frames table!

Get a bird’s-eye view of every function — with hotness, code states, deopt counts, and inline expansion for source + code states.

No more jumping between source and back — everything at your fingertips.

github.com/discoveryjs/...
rdvornov.bsky.social
See exactly where time is spent — with per-location precision, inlining markers, and deoptimization highlights, right in your source code.

JavaScript performance analysis, now more precise than ever.
rdvornov.bsky.social
Discovery.js 1.0.0-beta.94 Introducing text rendering
github.com/discoveryjs/...
Reposted by Roman Dvornov
dmitrymakhnev.bsky.social
Dear @webstorm.jetbrains.com and @jetbrains.com IDEs users who use JS testing framework integrations,
A huge refactoring of this subsystem was delivered in EAP 5.

It has changes for:
- @vitest.dev
- Jest
- @nodejs.org test runner
- @playwright.dev
- Cypress
- Mocha
- Protractor and Karma

...
youtrack.jetbrains.com
Reposted by Roman Dvornov
bram.us
Bramus @bram.us · Jan 16
New in Chrome 133 – which goes stable on Feb 4 – is a new method to move an element around the DOM.

Unlike the classic way of removing+reinserting a node, this moveBefore method preserves the element’s state!

Iframes remain loaded, animations don’t restart, …

DEMO: codepen.io/bramus/full/...
Reposted by Roman Dvornov
marcoippolito.dev
Node.js v23.6.0 is out! 🥳🎉

This release enables the flag --experimental-strip-types by default.

Node.js will be able to execute TypeScript files without additional configuration!

⚠️ This feature is experimental, has limitations and is subject to change.

nodejs.org/en/blog/rele...
Node.js — Node v23.6.0 (Current)
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
nodejs.org
Reposted by Roman Dvornov
antfu.me
Anthony Fu @antfu.me · Dec 18
Also, I am looking for active maintainers to help me maintain VueUse. I'd be happy to provide some mentorships if you are interested in that.

Doing OSS would be a long process tho, and probably won't make you have financial benefits at the beginning - but could be an interesting experience.
Reposted by Roman Dvornov
sergey.works
With the recent Safari 18.2 release, WebAssembly Garbage Collection is now available in all the major browsers 🥳
Reposted by Roman Dvornov
stoyan.me
You can force garbage collection in your JS by starting Chrome with a flag:
open "/Applications/Google Chrome.app" --args --js-flags=--expose-gc
Now you can call `gc()` to collect the rubbish :)
rdvornov.bsky.social
Discovered a neat trick: converting FormData to a multipart/form-data string (and back!) using the Response API. Seems to be an unknown or little-known approach, though I don’t claim originality. Wrote an article to share how it works: dev.to/rdvornov/con...
Converting FormData to a multipart/form-data String and Back Using Response
While working on another article about converting various values into ReadableStream, I stumbled upon...
dev.to
Reposted by Roman Dvornov
jensimmons.bsky.social
We implemented a new value for `background-clip` called `border-area`. It lets you use CSS fill a border with a background image or gradient.

This article explains how it works, and shows up the possibilities in 7 demos.

#css #webdesign #webdevelopment #graphicdesign

webkit.org/blog/16214/b...
Make creative borders with background-clip border-area
How’d you like to use CSS to easily create a border from an image or gradient?
webkit.org
Reposted by Roman Dvornov
matthiasmartin.dev
Excited to announce Easing Wizard is now live! 🎉

The ultimate CSS easing editor with support for Bézier, spring, bounce, wiggle, and overshoot! 🚀

🔗 easingwizard.com

Can you find the hidden easter egg?