Maël Nison

Maël Nison

@mael.dev

Arcanis on GitHub. Lead maintainer for @yarnpkg.dev 🧶 Staff DevX Mistral AI 🇪🇺 previously: Datadog, Meta, Sketchfab My life: my wife, two sons, two cats, and far too many side projects 📦

1K followers150 following312 posts

Maël Nison reposted

Node.js 26.4.0 is out with package map support! Full changelog and download links available at nodejs.org/en/blog/rele...

nodejs.orgNode.js — Node.js 26.4.0 (Current)Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
Maël Nison@mael.dev

Experimental package map support has been merged ! Now on to implement generation support into both Yarn and pnpm 🚀

Experimental package map support has been merged ! Now on to implement generation support into both Yarn and pnpm 🚀

Maël Nison@mael.dev

I'm working on a feature called package maps for Node.js - it's leveraging everything I learned about package resolution these past six years, in a design that's both simple and flexible enough to be backward compatible with existing installs. I'm very excited about this! github.com/nodejs/node/...

Maël Nison reposted

We just released the 4.15 branch 🎊 One important change is that npmMinimalAgeGate will now default to 1d for new projects.

Let me tell you, "sustainability in OSS" is going to become a matter of mental health rather than money more than ever before. I fear the field will get toxic pretty fast as projects start competing entirely on social marketing antics 🫤

Maël Nison reposted

Reminder that Yarn lets you filter out fresh packages with `npmMinimalAgeGate` and it's a good idea to use it on your work repos!

Is *anyone* using "Require branches to be up to date before merging" ? Always saw this setting as pretty harmful (N people update their branch in the hope to merge, only one can, all others wasted their CI time; rinse and repeat).

I don't understand why GH doesn't provide "max age" / "max depth" / "checkpoint commit" mechanisms to make this more acceptable to high-velocity repositories.

Maël Nison reposted

We just released the 4.14 branch! 🎊 Two important security changes: - `enableScripts` now defaults to `false` (can be overridden on a per-package basis) - A new `approvedGitRepositories` setting should be used to tell Yarn which git repos are safe to pack.

I'm working on a feature called package maps for Node.js - it's leveraging everything I learned about package resolution these past six years, in a design that's both simple and flexible enough to be backward compatible with existing installs. I'm very excited about this! github.com/nodejs/node/...

github.comloader: implement package maps by arcanis · Pull Request #62239 · nodejs/nodeThis PR adds a new --experimental-package-map=<path> flag letting Node.js resolve packages using a static JSON file instead of walking node_modules directories. node --experimental-package-ma...

It should go without saying: Yarn isn't and will never be a company. My vision of sustainable OSS has always been that not only should the tool be free, but its maintainers as well.

Perhaps a silly question - are multi-tenancy OSes legacy at this point? It feels like every machine nowadays only ever use a single user (perhaps a second for root). As far as I understand it even cloud deployments went away from unix's multi-user towards virtualization.

I'm implementing task management primitives into Yarn. I think tools like Turbo having to parse the lockfile is sign enough that they should be native features. Scripts have always been too limiting for local development.

The state of GitHub's "Require status checks to pass before merging" section is incredible. Never saw what should be such a simple feature that simply couldn't work in two different companies. I get 500s just by searching for my jobs !

I can now say it: Rust is really neat. I'm still on my learning journey, but I like many of its constructs. And I'm in love with pattern matching.

Noticed the amazing website? It's built with @astro.build from the ground up thanks to the help of the fine folks at luckymedia.dev, and the GLSL mad skills of shadertoy.com/user/Kali 😊

Maël Nison@mael.dev

It’s happening. Yarn 6 Preview is here 💫 Yes, we rewrote it in Rust 🦀⚡️ I'm incredibly excited for the future of our beloved package manager. See the benchmarks and plans in our latest post:

Just left the theater - I found Zootopia a little lacking execution-wise, but overall I liked the universe enough that I could get past that and have a good time

I joined a middle school that turned out to have a programming club (ie 2-3 pro-linux kids self-learning Dark Basic on the school computers during lunch break).

Recurse Center@recurse.com

What’s the lore behind choosing your career path ?

Maël Nison reposted

I am looking for a full-time job. Being independent in open source for 3.5+ years has been wonderful. I've gotten done most of the high-level goals I wanted to, and miss having people & structure around me. If you know of a role for a staff-level TypeScript+web developer, let me know! 🙂

View full thread

The Next.js workflow stuff is very similar; the difference is that instead of creating the new iterator right away they serialize it. Future forks only need to be restored from that snapshot.

One of the tricky part I faced was that to make this work, you need to turn the function into a state machine. With loops, initializers, etc it's not exactly trivial.

For context, I wanted a way to "fork" generators so new iterators could be created at any yield point. Those new iterators had their own stack and could progress without impacting the original iterator (assuming they only had access to immutable data structures).

Non-AI items on my GitHub wishlist: 🔍 GH Pages previews for PRs ⚠️ Status checks for issues 📝 Type hints in the viewer 🔗 GH first-parent iterator in the API Anything else I forget?

I started a new position at Mistral AI this week, still focused on developer experience. Interesting change of pace, going from a huge IPO'd company to a super fast growing startup on the rise! And a European one at that 🇪🇺🥳

I heard good things about Zed and Warp so I decided to try them, as I needed to reinstall a laptop anyway. So far they seem nice enough !

The @zed.dev auto-completion doesn't seem to leverage my previous edits as well as Cursor though - it keeps suggesting edits in a shape I already had to partially rewrite for previous occurrences of the same code pattern

It also doesn't seem to be using the errors shown in the IDE to autocomplete the fix; is it because I'm using the free version?

A good security aspect of my job lately has been that I spend significantly more time writing package managers than installing packages 😄

Why is there no JS API that can flip prefers-color-scheme for the current page? Dark mode switches require adding custom selectors, which doesn't compose with third-party components.