Profile avatar
e18e.dev
https://e18e.dev (Ecosystem Performance) is a community initiative to bring together people who are passionate about improving performance in the JS ecosystem. Get involved at https://chat.e18e.dev πŸ’…
47 posts 1,716 followers 51 following
Prolific Poster
Conversation Starter

half of prettier's install size is a commonjs duplicate of the ESM imagine how much data will be saved once people stop shipping dual-packages. prettier is one of many

πŸ“¦ I will release all new major versions of my packages as ESM-only. Thanks to @joyeecheung.bsky.social for finally making this possible for us!

Poof! ✨ postman-request, an HTTP client with 1.1M weekly downloads, just dropped its brotli dependency in favor of Node.js’ built-in Brotli compression. That’s 1,673.1 GB of data saved every week! πŸ€“ github.com/postmanlabs/... @e18e.dev

Speeding up the JavaScript ecosystem part 11 is here! This time we're looking at: Extending Rust tools with JavaScript plugins marvinh.dev/blog/speedin...

delighted to announce the latest release of `vite-plugin-checker`! 🎨 stylelint 16+ support ⚑️ 58 -> 16 dependencies πŸ“¦ no more cjs build πŸ‘€ chokidar v4 many thanks to @fi3ework.bsky.social πŸ™Œ πŸ‘‰ full details: github.com/fi3ework/vi...

# @unjs.io ohash.unjs.io v2 - πŸš€ Speedup with node:crypto when available - πŸͺ΄ Serializer rewritten - 🧹 Internal cleanups - πŸ“¦ ESM-only (63.3kB=>18.7kB) Bundle size down to 5.5/2.6kB (web), 2.3/1kB (node) changelog: github.com/unjs/ohash/r...

Deployed everything.antfu.dev to show the transitive dependencies of packages I created or maintain. To provide better transparency, while also driving myself to put the efforts into making lightweight and efficient libraries.

New package, which is actually a benchmark: "json-simple-parser", the fastest pure-JS implementation I could come up with for a JSON parser. Somewhat useful for benchmarking parser generators, or perhaps JS itself, or different engines, or if you like really ugly code? github.com/fabiospampin...

After four months in the making, tinyglobby 0.2.11 is out! This release adds important optimizations to avoid crawling extra directories, which should greatly improve performance in almost all cases! Here's how we did it 🧡 github.com/SuperchupuDe...

don't forget the great work in the eslint space for leaner/modern alternatives 🧡

If you're globbing in Node.js, I highly recommend tinyglobby which has way fewer dependencies than the alternatives!

Does anybody know what the fastest JSON parser written in JS is? I'd like to check how mine compares against it. github.com/fabiospampin... πŸ‘ˆ

some thoughts on bundling dependencies in libraries and dev tools. especially given the great effort from the community lately, we need to bundle less and less (in consumed packages)

`sonda` just hit 10k weekly downloads on npm! Huge thanks to everyone using it and supporting the project πŸ™ If you haven’t tried it yet and want to see what’s inside your JS & CSS bundles, check it out here: sonda.dev

`require(esm)` got backported to Node 20! πŸŽ‰ When Node 18 hits EOL in less than 3 months, we can finally drop CJS builds and go ESM-only

🚨 new package alert! 🚨 @bomb.sh/args is a tiny (<1kB!), strongly typed args parser for JS CLIs. it was previously published by @natemoo.re under the name "ultraflag".

Deployed a WebContainer version (still early stage). It keeps unbelievable to me that @stackblitz.com made possible to run Node.js inside the browser! node-modules.dev

🀏 it's a good day for tinypool! thank you so much @sebastienlorber.com and @ariperkkio.dev ❀️ github.com/facebook/doc...

Backporting the series of changes needed to unflag require(esm) to v20.x and reviving a skill that I've long lost...diffing the diffs! Although this time I actually wrote some scripts to help me diff the different version of the same commits on different branches... gist.github.com/joyeecheung/...

New blog post! Let's move to ESM! 😈 πŸ‘€ antfu.me/posts/move-o...

small announcement - we have now moved the ecosystem cleanup project into @e18e.dev to be the official issue tracker, for _all_ ecosystem issues (incl cleanup, speedup, etc) if you want to get involved in e18e, this is a good place to start!

If you use pnpm in your projects, you can try it now with: pnpx [email protected]

Made quite some progress! (tho is not yet published on npm) If you are interested in contributing, check the repo out! github.com/antfu/node-m...

The video from my closing keynote to #perfnow is out! I talked about how to approach web performance problems--kind of a beginner's guide to becoming an expert. I hope you enjoy!

A few of us are meeting up in Amsterdam for @e18e.dev before jsworld/vuejs ams on the 11th march. Ping me if you'd be interested! More details of where/when soon

fun week! we started an initiative in @e18e.dev to help finish the new prettier CLI. once done, it'll be _much_ faster than the existing one more to come soon!

presenting a new library, still wip but already pretty cool pnpm i dunai A collection of tiny utilities for node streams utils: * concat, 94.5% smaller than concat-stream * progress, 94.2% smaller than progress-stream features: * really smol * 0 dependencies * types out of the box

a PR to ElevenLabs SDK that drops 21 dependencies and decreases the install size by ~19.48%

big thanks to @v1rtl.bsky.social recently for doing so many PRs in the e18e space πŸ™ remember, if you wanna join in too, we're all happy to help on chat.e18e.dev

a PR to @contentful.bsky.social SDK that removes 22 dependencies github.com/contentful/c...

pnpm dropped strip-ansi github.com/pnpm/pnpm/pu...

Landed a PR that integrates TypeScript transpilation into the Node.js compile cache ✨ When benchmarking files of 500-600+ bytes, type stripping is 65% faster and full transform is 128% faster (it should be more significant on bigger files though, because it's a cache) github.com/nodejs/node/...

"Elevated", released in 2009, weighs 4 kilobytes - or about 0.002 median webpages, for those of us using the imperial system. www.youtube.com/watch?v=jB0v... almanac.httparchive.org/en/2024/page...

βœ‚οΈ My 2nd PR in the Bluesky repo was a bit much perhaps and got rejected (totally valid & cool!) Still, satisfying to see how Knip handles a non-trivial React Native repo like this; at least this PR can serve as an example β†’ PR: github.com/bluesky-soci... β†’ Knip config: github.com/bluesky-soci...

βœ‚οΈ Try remove-unused-vars β†’ To remove unused variables within files after running Knip β†’ You think your linter could fix more "no-unused-vars" rule violations? ⚠️ Warning: destructive (and addictive) github.com/webpro-nl/re...

Just pushed some updates to `ultraflag`, my minimal command line arg parser! To my surprise, benchmarks indicate that it is significantly faster than node:util's parseArgs, but a bit behind @lukeed.bsky.social's mri. Give it a try! github.com/natemoo-re/u...

βœ‚οΈ If you're interested in finding & fixing unused type & interface members, here's the PR with further details and link to initial docs: github.com/webpro-nl/kn... Gathering feedback. Can't wait to see Knip chop & drop your props... πŸ₯·

New blog post covering the mysterious 10ms startup regression of Node.js on macOS, the journey of investigating the issue with various performance tools, and figuring out the fix (which also helped making the binary smaller). joyeecheung.github.io/blog/2025/01...

Package install size is a good metric but amount of dependencies is crucial for faster installation. Here's before and after removing 100 transitive dependencies from Webstudio

Made Webstudio CLI 3x smaller recently. Bundling internal dependencies did the trick.