Live data from Hacker News

Entropic – A Federated Package Manager for JavaScript

twitter.com

41–50 of 69 posts

Re: Entropic – A Federated Package Manager for JavaScript

#41
post #26

Earlier quoted context omitted.

I take it to mean that with npm there is a very low barrier for entry. I mean it's not difficult to actually host an apt repo on your own server or on S3, but there's still more you need to know to get to that stage. I personally think that using something like apt for Node.js dependencies is a very good idea. I work with Node at work and on the side, and my/our usual stack is either Debian or Ubuntu. Even when Docke…

I am trying to understand why we make NPM such a big deal (and suddenly have all these projects born to solve the NPM problem) when people have solve the issue of a package repository already. C j Silverio's point (JSConf's talk [1]) was that is NPM's scale that makes it hard. Refs: 1: https://www.youtube.com/watch?v=MO8hZlgK5zc

To put some perspective on this, comparing Debian to npm:

Number of packages:

Debian has 172,000 packages for the most popular architecture, amd64. i386 has 24,000 packages. The rest have less than 500 each.

npm recently broke a million packages.

Download counts:

I couldn't find numbers for Debian. npm served 11.2 billion downloads last week.

(Debian numbers retrieved by https://popcon.debian.org/, npm numbers from https://medium.com/npm-inc/npm-weekly-200-dont-miss-today-s-... and https://api.npmjs.org/downloads/point/last-week

Re: Entropic – A Federated Package Manager for JavaScript

#42
post #29

Earlier quoted context omitted.

Not everyone tags releases so you're stuck if you need a fixed version of a dependency. Or you can tie it to Github and then download a release from their CDN.

You can indeed reference a git repository with a single commit specified, like described in the npm install docs[1]. Not very user friendly, but it works. Example: "dependencies": { "myprivatemodule": "git+ssh://git@github.com:user/project.git#commit-hash" } [1] https://docs.npm.red/cli/install.html

This! plus treating every commit as major version and be done with it.

Re: Entropic – A Federated Package Manager for JavaScript

#43
post #37

Earlier quoted context omitted.

I like this approach too. npm at least, and perhaps other package managers, are replicating DNS a bit too much for my taste, by providing their own (centralized) namespace. Why not use the existing namespace that is DNS (which is decentralized). It's pretty nice to be able to host my packages on my own servers with my own domain name.

Usually the motivation is that the federated package names are much longer than the centralized short package names.

Much longer is, I guess, a matter of taste. For example the package name "go.uber.org/zap" [0] looks quite short to me.

[0]: https://godoc.org/go.uber.org/zap

Not to mention that short names get depleted eventually and one needs to use longer names then anyway (see npm namespaces).

Re: Entropic – A Federated Package Manager for JavaScript

#44
post #20

The thing I don't get, is, I'm using Git repos as source for my packages for years now, why can't everyone do this?

Because package managers are used for more than just source code - many packages want or need to distribute intermediate or compiled artifacts.

Re: Entropic – A Federated Package Manager for JavaScript

#45

Earlier quoted context omitted.

Forgive me for being a contrarian but I see nothing more than yet another Stallmanist rant in this? Ceej and company are trying to portray NPM as the villain here, but is the entire JS ecosystem's burden their's to carry? They keep whining that Roald Dahl is miserable and all despite inventing Node and why the NPM founder is so rich with VC money, etc. According to me, therein lies their hypocracy: On one hand, you d…

My point was : node is just a web server and npm just a package manager. There was countless before, there will be countless after, we will continue to code with or without. I have worked with a few technologies and in a few industries and package management is always complicated. The nature of the package management tools are not that important. The passion that this kind of topic seems to unleash looks like the con…

Minor note: it's not accurate to say that node is a web server. Web servers are frequently built with node but node is also used for CLIs, graphical applications, parsers, compilers, etc.

Re: Entropic – A Federated Package Manager for JavaScript

#46
post #43

Earlier quoted context omitted.

Usually the motivation is that the federated package names are much longer than the centralized short package names.

Much longer is, I guess, a matter of taste. For example the package name "go.uber.org/zap" [0] looks quite short to me. [0]: https://godoc.org/go.uber.org/zap Not to mention that short names get depleted eventually and one needs to use longer names then anyway (see npm namespaces).

Or even end up with low quality generic defaults for things like routing in react because someone got the default name of say the routing library.

Re: Entropic – A Federated Package Manager for JavaScript

#47
post #42
post #29

Earlier quoted context omitted.

You can indeed reference a git repository with a single commit specified, like described in the npm install docs[1]. Not very user friendly, but it works. Example: "dependencies": { "myprivatemodule": "git+ssh://git@github.com:user/project.git#commit-hash" } [1] https://docs.npm.red/cli/install.html

This! plus treating every commit as major version and be done with it.

That's a bit too idealistic; in practice, any commit MAY have a bug which passed quality control. The problem is that it's all down to people's discipline, it's not an enforced standard.

A package manager where every release has to be reviewed, tested and approved before they become generally available would be a pretty interesting case, I know bigger companies who are reluctant to upgrade because of known bugs in the past would be willing to pay for something like that.

Re: Entropic – A Federated Package Manager for JavaScript

#48

As "life finds a way", I believe packages will find a way too. If npm stops being the go-to solution, another one will take its place, naturaly adopted by the community, following the path of least resistance. Centralized or not. It does not really matter. What does matter is the code that's being downloaded. Modules dependencies management is an old problem, countless of tools have tackled. Is the node and front pro…

Forgive me for being a contrarian but I see nothing more than yet another Stallmanist rant in this? Ceej and company are trying to portray NPM as the villain here, but is the entire JS ecosystem's burden their's to carry? They keep whining that Roald Dahl is miserable and all despite inventing Node and why the NPM founder is so rich with VC money, etc. According to me, therein lies their hypocracy: On one hand, you d…

I think it's less that npm is making money, but that they've taken VC money.

Venture capitalists don't care about the community, or the fact that they're funding critical infrastructure.

They care about extracting rents in order to get back 100x what they put in.

Do you not see the blindingly obvious problem here?

Re: Entropic – A Federated Package Manager for JavaScript

#49
post #7
post #2

I don't believe yet another package manager is going to fix anything, more likely it'll take years to reach maturity, will be riddled with bugs until then, and have some serious fundamental issues on its own that will be revealed down the path, if it ever gains popularity. Don't fix it if it aint broke should be a motto for more developers. Settling for good enough prevents second system effects and retards immaturit…

Most JavaScript-related threads I see on HN feature at least a handful of comments from people who will avow that e.g. the npm ecosystem is hot garbage. Seems to me that it is broke and needs fixed.

> Most JavaScript-related threads I see on HN feature at least a handful of comments from people who will avow that e.g. the npm ecosystem is hot garbage.

It's not the "NPM ecosystem" that's hot garbage, it's the Javascript ecosystem. There's a culture of creating micro-packages that have dozens of of often trivial transitive dependencies. With a lot of popular projects, one "npm install" dumps maybe hundreds of packages and thousands of files into a "node_modules" folder that you can't reasonably move out of your source directory. There's also a culture of breaking interfaces and configuration a lot. Many developers growing up in this ecosystem think this is the "normal" way to do things, thus compounding the problem for "future generations".

None of this has anything to do with NPM or the company that runs it. Some of it has to do with NodeJS, which isn't the same as NPM . Another package manager wouldn't solve any of these problems. In practice, NPM works fine 99.9% of the time. That's "good enough".

Re: Entropic – A Federated Package Manager for JavaScript

#50

As "life finds a way", I believe packages will find a way too. If npm stops being the go-to solution, another one will take its place, naturaly adopted by the community, following the path of least resistance. Centralized or not. It does not really matter. What does matter is the code that's being downloaded. Modules dependencies management is an old problem, countless of tools have tackled. Is the node and front pro…

Forgive me for being a contrarian but I see nothing more than yet another Stallmanist rant in this? Ceej and company are trying to portray NPM as the villain here, but is the entire JS ecosystem's burden their's to carry? They keep whining that Roald Dahl is miserable and all despite inventing Node and why the NPM founder is so rich with VC money, etc. According to me, therein lies their hypocracy: On one hand, you d…

> They keep whining that Roald Dahl is miserable and all despite inventing Node

I think you mean Ryan Dahl haha

Post reply on HN