nodejs / corepack

Zero-runtime-dependency package acting as bridge between Node projects and their package managers
MIT License
2.55k stars 169 forks source link

Automatic snapshots #155

Open arcanis opened 2 years ago

arcanis commented 2 years ago

Now that snapshots have been merged, Corepack should leverage them to decrease the package managers boot times - similar to how we currently use v8-compile-cache.

The way I imagine it, instead of running yarn.js, we would check whether yarn-${process.version}.blob exists. If it doesn't, create it (by calling the process.execPath binary with the --build-snapshot flag). Otherwise, spawn the blob.

Package managers will need some explicit support for this to work, as they'll need to embed their CLI logic within setDeserializeMainFunction.

arcanis commented 2 years ago

Seems it's still a little too soon for that (trying to build a snapshot from Yarn)

image