DEV Community

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

A new npm is coming

Axel Navarro
IT solutions builder. JavaScript is my thing, Linux is my passion. Rocker 4ever!
・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, 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.

Discussion (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
hugekontrast 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
hugekontrast 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
hugekontrast 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
hugekontrast 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
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
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
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
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 😂😂