DEV Community

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

Posted on

86 19

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.

SurveyJS custom survey software

Simplify data collection in your JS app with a fully integrated form management platform. Includes support for custom question types, skip logic, integrated CCS editor, PDF export, real-time analytics & more. Integrates with any backend system, giving you full control over your data and no user limits.

Learn more

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

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 ๐Ÿ˜‚๐Ÿ˜‚

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs