Sign in

James

@43081j.com
2.4K followers 383 following 3.4K posts

Lead: @e18e.dev - tinylibs - chai Maintainer: parse5 - @unjs.io - @bomb.sh - chokidar - @npmx.dev - @vueuse.org - prettier Sponsor me at github.com/sponsors/43081j github.com/43081j / Focusing on ecosystem perf & tooling 🥳

PostsRepliesMedia
James @43081j.com · 5h
one great project is better than many half-baked ones you're going to lose interest in tomorrow
2170
James @43081j.com · 7h
tinyrainbow 3.2.0 🌈 - hex colour support (`colors.hex('#303')`) - rgb colour support (`colors.rgb(51, 0, 51)`) - perf improvements (fastest in many cases now!) ❕ If you support a new enough Node, remember you can use `styleText` (built-in!) instead
npmjs.com
081
Reposted by James
The Zena Programming Language @zena-lang.dev · 29/09/2026
New blog post on zena-lang.dev: Designing a Programming Language for the AI Era zena-lang.dev/blog/2026/09... Includes why I think a language good for humans and WebAssembly is good for AI, and why Zena is a project that's optimistic that humans have a place in software development.
zena-lang.dev
Designing a Programming Language for the AI Era
What makes a programming language effective when AI agents write, test, and review code, and why being optimized for WebAssembly is being optimized for AI.
0149
James @43081j.com · 28/09/2026
the best kind of PR 😀
a screenshot of a GitHub PR showing dependency changes: 729KB of dependencies removed.
0281
Reposted by James
Jens Rømer @jensroemer.com · 25/09/2026
I've been helping out @43081j.com on github.com/43081j/tangl..., and wanted a way to prioritize what to work on. I had an assumption that repos on Tangled, who have GH workflows but not yet Tangled workflows would be great candidates. So I did a quick script that goes through repos on Tangled...
github.com
GitHub - 43081j/tangleflow: Convert GitHub actions workflows to tangled pipelines and vice versa.
Convert GitHub actions workflows to tangled pipelines and vice versa. - 43081j/tangleflow
2132
James @43081j.com · 24/09/2026
Today we're launching ai-policy.dev! A collaboration of me, @danielroe.dev and @matteogabriele.npmx.social - this provides a few human curated AI contribution policies you can choose from. Our hope is that this will help you better define your stance and what kind of contributions you accept 🙏
ai-policy.dev
AI Contribution Policies
Ready-to-use AI contribution policies for open source projects.
1313540
James @43081j.com · 24/09/2026
looking forward to seeing all the great people of the atmosphere again 💙
atmo.rsvp
AtmosphereConf 2027
The third edition of the global gathering for the Atmosphere Community is taking place in Amsterdam, April 29th - May 2nd. This includes side-events and main conference days. Please RSVP with your i...
1140
James @43081j.com · 23/09/2026
today we released a new library as part of tinylibs: tinyps ⚙️ this exposes a few utilities for dealing with system processes. you can use it to list, kill and find processes amongst other things. check it out and let us know if anything needs improving! 🙏
github.com
GitHub - tinylibs/tinyps: A tiny library for dealing with spawned processes
A tiny library for dealing with spawned processes. Contribute to tinylibs/tinyps development by creating an account on GitHub.
1191
James @43081j.com · 23/09/2026
was curious what the various increments were, so here's the pnpm size bumps labelled!
A poorly annotated chart of the size of pnpm to install. At 12.0.0 it was rewritten in Rust (+27MB). At 12.1.0 it introduced more complex task orchestration (+1MB). At 12.4.0 it introduced support for Python and Rust packages (+2MB). At 12.5.0 it introduced support for Python env/runtimes (+3.5MB)
4150
James @43081j.com · 22/09/2026
check it out! some pngwn goodness ✨
0100
James @43081j.com · 22/09/2026
was bugging me that update-notifier is 1MB+ so i made an alternative if anyone wants to use it! nano-notifier is ~275KB much of that is from clack, which itself is used by many of the consumers of update-notifier already, so will be de-duped.
github.com
GitHub - 43081j/nano-notifier: A somewhat small tool for notifying when your package has updates available.
A somewhat small tool for notifying when your package has updates available. - 43081j/nano-notifier
0161
Reposted by James
~paul @paulvall.dev · 21/09/2026
understanding is the one part of software that still runs at human speed. that's not a bottleneck. that's where we're still needed. i wrote about why open source gets to choose its own pace.
paulvall.dev
we need time to assimilate
the reason behind one sort function got lost in a rewrite, and a tarball came out nine times bigger. on comprehension debt, peter naur, and why open source should slow down.
3212
James @43081j.com · 21/09/2026
New version of module replacements 🎉 Lots of micro utilities added 🤏
github.com
Release 3.4.0 · e18e/module-replacements
What's Changed feat(preferred): add npm-check to replacements by @dreyfus92 in #965 feat: mention Temporal in replacements by @gameroman in #992 fix: move stream.Duplex to native manifest by @game...
0131
James @43081j.com · 21/09/2026
giving old domains some use, we've published a basic site on ESM and how to migrate to it at esmodule.com if anyone wants to contrib a guide or improve one, please do! thanks to @iamstan.dev for putting the domain to good use 🙏
esmodule.com
ES Modules - The JavaScript module system
A guide to ES modules, the module system of JavaScript.
2288
James @43081j.com · 20/09/2026
cooking something up with @matteogabriele.npmx.social and @danielroe.dev 👀
0402
James @43081j.com · 20/09/2026
started a project somewhere on one of my laptops. can't remember which laptop and which directory. seems to have vanished 😂 time to do it again!
3221
James @43081j.com · 18/09/2026
Good times 😀 Babel getting a bunch smaller! Tarball size also dropped from 192KB to 40KB
0240
James @43081j.com · 18/09/2026
did you know: `cross-spawn` is no longer needed if you use tinyexec (or just use tinyexec anyway as it is smaller!) if you're using `_parse`, tinyexec also exports `normalizeSpawnCommand` which does the same job
1100
Reposted by James
Astro @astro.build · 17/09/2026
Ecosystem performance meets Astro. @florian-lefebvre.dev is here to explain how the @e18e.dev project is making your favorite framework smaller and faster ⚡️
youtube.com
e18e x Astro | Astro Together FRA 2026 × Seibert
One dependency at a time, we can make the JavaScript ecosystem faster and leaner. But what exactly is e18e, and why should you care? Florian Lefebvre explores e18e, Astro’s role in the movement, the…
0399
Reposted by James
Evil Martians @evilmartians.com · 17/09/2026
Not all heroes wear capes... at least the @e18e.dev team doesn't. They’re on a mission to make the JS ecosystem lighter and faster. So we’re donating to them as part of our OSS donation program. They've already reduced node_modules size and made Node.js tooling much faster, and we appreciate it!
2518
James @43081j.com · 17/09/2026
new version of the @e18e.dev ESLint plugin 🚀 This works with both ESLint and oxlint to detect code which can be modernised or made more performant. Combine it with knip for good times!
github.com
GitHub - e18e/eslint-plugin: The official e18e ESLint plugin for code modernization and performance best practices
The official e18e ESLint plugin for code modernization and performance best practices - e18e/eslint-plugin
0275
James @43081j.com · 17/09/2026
Solid doing good stuff as always 😀
080
James @43081j.com · 17/09/2026
Super nice work by the team here 🙏
080
James @43081j.com · 16/09/2026
TIL this is valid > import from from 'mod'; makes sense but assumed it'd be reserved 😅
3220
James @43081j.com · 15/09/2026
i don't mind people using agents to create PRs, but please at least write the description and replies yourself 🙏
12804
James @43081j.com · 14/09/2026
xcancel is gone again 😔 > Unfortunately, due to a new development in the ongoing legal proceedings, we are required to suspend this service again until further notice. We can't share more details.
xcancel.com
1245
James @43081j.com · 14/09/2026
i noticed Claude was unnecessarily reinstalling itself every 30 mins or so. wasting bandwidth, CPU time, etc. it turns out if you have an older version still running, it keeps trying to install the already-installed new one every 30 min. because it compares `latest` with the _running process_
2160
James @43081j.com · 13/09/2026
GitHub having some trouble this morning it seems 👀
2101
James @43081j.com · 13/09/2026
Good to be back home today. Lots of GitHub to catch up on 😄 And a few new ideas 👀
0180
James @43081j.com · 12/09/2026
Flying back to the UK! My seat was changed and now I'm in a _premium_ seat (further forward 😂)
1140
James @43081j.com · 12/09/2026
it does seem like pnpm is trying to keep up with the competition, but the competition only exists because it is no longer just a package manager. at this point i'm not sure what the competition is, though
2291
James @43081j.com · 12/09/2026
Heading home today. @zurichjs.com has been such a great event 🎉 Too many great people to mention, but thanks to you all for hanging out, and to all the organisers for making something great 🙏
3342
Reposted by James
Colin @colinscz.npmx.social · 11/09/2026
Now the e18e panel 🟠🟡🟢 is happening at @zurichjs.com conf hosted by @thealexlichter.com with @tolin.ski @43081j.com @debbie.codes & @santoshyadav.dev
0306
James @43081j.com · 11/09/2026
TSESLint size is back to normal after they updated pnpm! 🎉
2372
James @43081j.com · 11/09/2026
First few talks of @zurichjs.com have been great 🎉
0211
James @43081j.com · 10/09/2026
Justin is doing some great stuff, definitely check it out!
0120
James @43081j.com · 09/09/2026
Good stuff being said by @nicr.dev 🙏
2463
James @43081j.com · 09/09/2026
Big win! Migrated the whole @netlify.com build repo to @vitest.dev 🎉🎉 Also made heavy use of my snapshot diff tool since ava has binary snapshots (accounting for most of the 40k+ PR 😅)
2365
Reposted by James
Faris Aziz @farisaziz.com · 09/09/2026
@43081j.com @matteogabriele.npmx.social @tobbe.dev @tkdodo.eu In Zurich!
2463
James @43081j.com · 08/09/2026
London having a bit of an air traffic control meltdown today it seems. UK flights delayed all over. Just got to Zurich and security is an hour or so because so many people are stuck here thanks to cancelled flights 😅 Good fun!
2130
Reposted by James
~paul @paulvall.dev · 07/09/2026
@bomb.sh clack 1.8.0 is out 🎉 your validate() can be async now, tab completes paths in path(), and CANCEL_SYMBOL is finally exported. changelog here github.com/bombshell-de...
bomb.sh
Getting Started
Learn how to get started with Clack
1168
James @43081j.com · 07/09/2026
the e18e GitHub action noticing that ESLint introduced a duplicate dependency recently 👀 always keep an eye on your deep dependency changes! this one is because a ESLint bumped a dep whose own deps include duplicates (amusingly all of those are maintained by the same person, probably an accident!)
a screenshot of a github action showing that two copies of "hookified" are installed in the repo.
1275
James @43081j.com · 07/09/2026
nitter and xcancel are back! Whoever is helping them legally - keep up the good work 😄
github.com
GitHub - zedeus/nitter: Alternative Twitter front-end
Alternative Twitter front-end. Contribute to zedeus/nitter development by creating an account on GitHub.
1946
James @43081j.com · 04/09/2026
tinyspy now supports `using` statements 🎉 big thanks to @hirok.io for this one! 🙏 github.com/tinylibs/tin...
0271
Reposted by James
danielroe @danielroe.dev · 04/09/2026
what better to do after a full scottish breakfast than take in a view of arthur's seat from the crags? lovely to catch up with @43081j.com on tuesday ❤️
me and another brown-haired man (james garbutt) taking a selfie, me in front holding a camera,with a greenish brown hill (arthur's seat) behind them
61012
James @43081j.com · 03/09/2026
getting the big reviews in from @philippeserhal.com 😅
A 21,389 line pull request being approved by "serhalp".
2150
James @43081j.com · 02/09/2026
check it out! a lot of interesting stuff happening in this project. this is basically to track perf of all the meta frameworks over time, and show some comparison of technologies, usage, etc. lots more to come too!
0140
James @43081j.com · 02/09/2026
when this lands it will reduce TSESLint by 1.2MB on disk and ~100KB for some of its tarballs. take care when upgrading your package manager!
github.com
fix: use stable release of pnpm 12 by kirkwaiblinger · Pull Request #12808 · typescript-eslint/typescript-eslint
PR Checklist Addresses an existing open issue: fixes Bug: CHANGELOG is being published #12801 That issue was marked as accepting prs Steps in Contributing were taken If this PR used AI assista...
1160
James @43081j.com · 02/09/2026
mocha doing good things
package-lock.json +151 lines, -1354 lines as part of a mocha upgrade
0171
James @43081j.com · 01/09/2026
Next week, @thealexlichter.com is hosting an @e18e.dev panel at Zurich JS! 🎉 If you're around, come say hi 🙏
5322