DEV Community

Cover image for A new npm is coming
Axel Navarro for Cloud(x);

Posted on

A new npm is coming

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, they were working for npm some time ago, and were 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 their 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.

Top comments (24)

Collapse
 
webbureaucrat profile image
webbureaucrat

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

Collapse
 
rsa profile image
Ranieri Althoff

Well, Kat works for Microsoft...

Collapse
 
thesanjeevsharma profile image
Sanjeev Sharma

SNEAK: 100

Collapse
 
dealloc profile image
Wannes Gennar

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

Collapse
 
efleurine profile image
Emmanuel

It seems that devs should always be learning again

Collapse
 
ashishk1331 profile image
Ashish Khare😎

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

Collapse
 
jakobrosenberg profile image
Jakob Rosenberg

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

Collapse
 
ashishk1331 profile image
Ashish Khare😎

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

Thread Thread
 
vberlier profile image
Valentin Berlier

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.

Thread Thread
 
ashishk1331 profile image
Ashish Khare😎

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

Thread Thread
 
efleurine profile image
Emmanuel

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

Thread Thread
 
ashishk1331 profile image
Ashish Khare😎

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

And that's it.

Thread Thread
 
rsa profile image
Ranieri Althoff

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

Collapse
 
shadowtime2000 profile image
shadowtime2000

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.

Collapse
 
efleurine profile image
Emmanuel

They will be an npm of curated urls

Collapse
 
nestef profile image
Nestef

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

Collapse
 
maxdevjs profile image
maxdevjs

Being nourished in the rust...?

Collapse
 
andrewbaisden profile image
Andrew Baisden

More choice is always a good thing.

Collapse
 
goshrow profile image
GOSHROW

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

Collapse
 
lootfi profile image
Lotfi

well hello there

Collapse
 
jankapunkt profile image
Jan Küster

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

Collapse
 
jcarlosweb profile image
Carlos Campos • Edited

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 :(

Collapse
 
soremwar profile image
Steven Guerrero • Edited

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

Collapse
 
madza profile image
Madza

I was expecting for it to be called DPM 😂😂