loading...
Cover image for A new npm is coming
Cloud(x);

A new npm is coming

navarroaxel profile image Axel Navarro ใƒป2 min read

No, I'm not talking about npm v7! ๐Ÿ™€

A new package manager is under development and it's not written in JavaScript.

The Orogene team is working on ยซa next-generation platform and package manager for Node.js-compatible and frontend JavaScript projects!ยป

Who is behind this?

Just 3 cool devs with Kat Matchรกn included!

And what do we know about Kat? Well, was working for npm some time ago, and was a member of the team who released the major improvements to npm v6 after the Yarn ๐Ÿงถ release. So, Kat knows about caching and how to improve the package system.

Yarn was a rough competitor in that time, ๐Ÿฅต many of us switched to yarn and now we're back into npm.

Kat works for Microsoft's NuGet nowadays.

Why is orogene built using Rust?

Rust ๐Ÿฆ€ is a powerful language: thread-safe and memory safe without using a garbage collector. We can expect better speed than that of a statically typed language with a performance similar to C++.

A benchmark here:

What about the node_modules?

Orogene removes the necessity for the node_modules folder using a similar approach to pnpm.

You can use this in wrapper shell too:

Where is the package.json?

It seems the JSON format is too strict for some people. It's a bit scary to think about leaving the package.json behind to embrace a new format for defining dependencies in Orogene.
Even-though this hasn't been confirmed, the team is considering it.

Is there a create command?

We can expect the standard commands in Orogene, like create:

The rm -rf won't be needed when create-react-app accepts oro as a known package manager.

A healthy community

Kat wants to build a collaborative and healthy community around this project where each member can express their ideas in a safe and free environment.

When Orogene will be available?

There is no company behind this, just FOSS enthusiasts working in their free time. Kat said we can expect a beta coming for March 2021. We can see this project growing in public in his repository and help with ideas and feature requests.

Any open source project is welcome and we've the best wishes for this team! And if this comes alive, npm, yarn and other package managers could find improvement opportunities.

Posted on by:

navarroaxel profile

Axel Navarro

@navarroaxel

IT solutions builder. JavaScript is my thing, Linux is my passion. Rocker 4ever!

Cloud(x);

We believe the traditional technology delivery model is outdated, so we rebooted it.

Discussion

pic
Editor guide
 

I'll back anything to compete with Microsoft-owned products right now. Their monopoly on the development process is getting scary.

 

Well, Kat works for Microsoft...

 
 

So there will be 3 rivals: deno, npm and now this oro.

 

Deno is a rival to node. Oro is a rival to npm, pnpm and yarn

 

Okay, so deno is a engine to run js not the package manager. Got it! I thought deno was doing everything including package managing.

There's no separate package manager with deno because it automatically pulls dependencies from urls in your code. It's a different approach, there's no need for a package.json and therefore no need for a package manager.

Yeah, time saving and helpful, right?
Oro should include this caching method.

Time saving. Not sure. You still have to find the correct URL just like searching for the correct package on npm

As far as I know, we only need to type
htrps://deno.land/packagename.ts

And that's it.

Only for packages in the "standard library" for Deno. Everything else are git URLs.

 

I'm not thrilled that they're planning on ditching the package.json format.
This seems like it would only fragment the ecosystem

 

It seems that devs should always be learning again

 

So what will this do that pnpm doesn't already?

 

Being nourished in the rust...?

 

Unless they publish it on npm I am not going to use it because I hate having to manually download something from a website and open an app.

 

They will be an npm of curated urls

 

More choice is always a good thing.

 

Unless a team of dev comes along dveeloping standards and another develops some different standards. That's where confusions stem from.

 

well hello there

 

Another interesting Rust project. Finally this language gets more and more into the mainstream :-)

 

Having to see and use a package system of one language in another makes me sad. Since you're telling me I'm using a slow language :(

 

See it this way, JavaScript is a high level language, thus it provides you with most tools to get your project up and running with ease (If you are using JavaScript 11 or Deno at least XD), but it also requires a sacrifice in your end, that is performance (even though JavaScript is pretty damn fast compared to most languages).

You usually develop this solutions in low-level languages, so you as a user don't have to worry about this kind of stuff. More work from the devs, better perks for you

 

I was expecting for it to be called DPM ๐Ÿ˜‚๐Ÿ˜‚