ULTRA vs NPM / Yarn

What's the difference between ULTRA and NPM / Yarn?

The main difference between ULTRA and NPM / Yarn is the dependency resolution algorithm. NPM / Yarn gets all the dependencies first and then installs them. ULTRA gets one dependency at a time and installs it. This means that ULTRA can install dependencies faster than NPM / Yarn.

Also ULTRA installs all the packages inside a global store (as PNPM does) and creates a hardlink to the package inside the project's node_modules folder. This means that ULTRA doesn't need to install the same package twice if it's used in multiple projects.

It works?

It depends. ULTRA is still in development and it's not ready for production yet. It's not recommended to use it in production yet.

You can test for example, with a Next or a Vite project and it should work.

ULTRA doesn't verify the integrity of the packages?

Yes, it doesn't. That's because how ULTRA works, I didn't think it was necessary to verify the integrity of the packages.

It's because the lockfile created by ULTRA only uses paths.

I've created a "Discussion" in the Github repository to talk about this here

How much faster is ULTRA than NPM?

Varies depending on the number of project dependencies.

If you have a project with many dependencies ULTRA will be faster than NPM / Yarn. If you have a project with few dependencies, NPM / Yarn will probably be faster than ULTRA.

With a clean installation, ULTRA should be faster than NPM / Yarn, 2x faster in some cases.

Does it work in Monorepos?

Currently, it doesn't. I'm working on it. #45