unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Jelle Licht <jlicht@fsfe.org>
To: Pjotr Prins <pjotr.public12@thebird.nl>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Cyclic npm dependencies
Date: Sat, 24 Nov 2018 23:29:08 +0000	[thread overview]
Message-ID: <CAPsKtfKF0yDW9p=udT+Bj91Krz9MRhZeV6H83-V7Fv4zgb6zGg@mail.gmail.com> (raw)
In-Reply-To: <20181124163857.zgq6arhmyg23favy@thebird.nl>

[-- Attachment #1: Type: text/plain, Size: 1841 bytes --]

Op za 24 nov. 2018 om 16:38 schreef Pjotr Prins <pjotr.public12@thebird.nl>:

> On Sat, Nov 24, 2018 at 03:41:35PM +0000, Jelle Licht wrote:
> >    Hey swedebugia,
> >    I will still send a more elaborate reply to the general npm-importer
> >    thread later this week, but we can assume that generally these
> >    recursive dependencies can be untangled by looking at the different
> >    versions of the dependencies.
> >    So in your example, I imagine an input chain like:
> >    node-glob 0.1  -> node-rimraf 0.1 -> node-glob 0.2 -> node-rimraf 0.2
> >    -> .... -> node-glob 1.0 -> node-rimraf 1.0
> >    While *extremely* annoying to untangle, this is definitely doable.
>
> Appears to me that it would suffice to pick the latest version. In
>
What do you mean? In my specific example, you would need to package
and build each version in succession in order to actually be able to
use recent versions of either of these packages. IOW, you can not
choose any; you need to choose each.

case there is no clear version info just pick whatever is there.
>
> In general this should work. Any unit tests should show breakage.
>

If only we could run unit tests for most packages. Most test
frameworks have huge list of transitive dependencies, although not
nearly as bad as the build tooling.


>
> Circular dependencies are (unfortunately) getting more common. Not
> only in npm, but in all ad hoc package managers. I think their
> assumption is too that you pick the latest.
>
> I agree that we should expose the latest-and-greatest (and secure)
version of most packages, but we would still need to build older
intermediate releases in order to have reproducible builds from source
in a lot of cases. Whether we should expose these bootstrap packages
as well is another issue. Am I perhaps missing the point you are making?


Pj.
>
>

[-- Attachment #2: Type: text/html, Size: 2666 bytes --]

  reply	other threads:[~2018-11-24 23:29 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-24 15:16 Cyclic npm dependencies swedebugia
2018-11-24 15:41 ` Jelle Licht
2018-11-24 16:38   ` Pjotr Prins
2018-11-24 23:29     ` Jelle Licht [this message]
2018-11-25  8:34       ` Pjotr Prins
2018-11-25 13:16   ` swedebugia

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPsKtfKF0yDW9p=udT+Bj91Krz9MRhZeV6H83-V7Fv4zgb6zGg@mail.gmail.com' \
    --to=jlicht@fsfe.org \
    --cc=guix-devel@gnu.org \
    --cc=pjotr.public12@thebird.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).