[opam-devel] Ideas from Node.js
mmatalka at gmail.com
Fri Oct 11 21:26:10 BST 2013
Guillaume Claret <guillaume at claret.me> writes:
> To see if there is room for improvement, I was comparing OPAM with npm (the packages manager of Node.js) which seems to me to be one of
> the most popular packaging system today.
> Instead of three files "descr", "opam" and "url" they have just one "package.json" file.
> They directly use the JSON syntax to describe the packages. The syntax is heavier than the one of "opam" files so the advantage is not
> clear, but this syntax is already known by most programmers / text editors, easily described with a JSON schema and can be parsed by any
> programming language.
> Finally, the "package.json" file is located at the root of the sources of a project. This is a more self-contained approach. Someone can
> even install a package giving the repository Git's url, without registering it on a repository.
For a data point, as a heavy use of rebar in Erlang, which puts the package information
with the source, I can say that in my experience, this style does not
scale if you really care about which version of software you use. We
often have to have a patchset on top of a thirdparty repository to fix
their dependencies. If we had that information separate from code it
wouldn't be a problem.
While it might be really convenient, my request would be that if OPAM
adopts it, it be easy to override with a package repository.
> I wonder if these changes could be good ideas for OPAM,
> Guillaume Claret
> opam-devel mailing list
> opam-devel at lists.ocaml.org
More information about the opam-devel