unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: swedebugia <swedebugia@riseup.net>
To: Julien Lepiller <julien@lepiller.eu>, guix-devel@gnu.org
Subject: Re: NPM importer
Date: Wed, 21 Nov 2018 16:36:26 +0100	[thread overview]
Message-ID: <cd700c3f-724c-921d-1ae2-4eb417581abc@riseup.net> (raw)
In-Reply-To: <20181120233545.16257e58@lepiller.eu>

On 2018-11-20 23:35, Julien Lepiller wrote:
> Le Tue, 20 Nov 2018 22:12:18 +0100,
> swedebugia <swedebugia@riseup.net> a écrit :
> 
>> Hi
>>
>> On 2018-11-20 20:58, swedebugia wrote:
>>> On 2018-11-20 08:50, Julien Lepiller wrote:
>>
>> snip
>>
>>>> See this script that builds a graph of dependencies, ignoring
>>>> devDependencies (so none of the packages listed by this script is
>>>> going to be tested):
>>>> https://framagit.org/tyreunom/guix/snippets/2534
>>
>> What is devDependencies? Required to build the npm package?
> 
> the package.json file declares two kinds (I think I've seen a third
> kind, but I'm not sure, nor am I a js developper) of dependencies:
> dependencies and devDependencies that map to our inputs and
> native-inputs. devDependencies are tools used during the build or
> development, but they are not needed at runtime. Sometimes, they are
> required at build time (for instance the coffeescript compiler is a
> devDependencies of some packages, but we need it to build the package),
> usually they are required at test time (for instance mocha, tap, or
> tape are test frameworks), otherwise, they can be documentation tools,
> and sometimes really not useful for us (we probably don't want to run
> linters or release-related tools).

Ok, that sounds resonable.
Maybe we can blacklist all these linters and release tools during import 
and import everything else as dependencies?

snip

> The way I wrote it, you were supposed to change the "mocha" with the
> package you're interested in, and run the script with guile like so:
> 
> guile npm-explorer.scm > mocha.dot
> 
> and then:
> 
> fdp -Tpng mocha.dot > mocha.png
> 
> (fdp is part of graphviz, but produces nicer graphs than dot in my
> opinion)

Thanks!

snip

>>
>> npm.scm will be a VERY VERY long file. Maybe we should rethink about
>> how to best store all these variables...
> 
> Very long files are frowned upon, because they have very long
> compilation times and require a lot of memory. We'll have to find a way
> to split the file before it grows too much. Maybe we will do something
> similar than python packages? We have python.scm, python-web.scm...

yeah good idea. but with half a miljon packages and maybe max a 1000 
definitons in each we will still have ~500 npm files. By then I suggest 
we put them in a separate dir like gnu/packages/npm/web.scm etc.


-- 
Cheers
Swedebugia

  reply	other threads:[~2018-11-21 15:30 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-11 10:41 NPM importer swedebugia
2018-11-11 15:37 ` Julien Lepiller
2018-11-19 23:29   ` swedebugia
2018-11-20  7:50     ` Julien Lepiller
2018-11-20 19:58       ` swedebugia
2018-11-20 21:12         ` swedebugia
2018-11-20 22:35           ` Julien Lepiller
2018-11-21 15:36             ` swedebugia [this message]
2018-11-21  1:41           ` Mike Gerwitz
2018-11-21 22:01             ` Brett Gilio
2018-11-21 23:22               ` swedebugia
2018-11-22  1:02                 ` swedebugia
2018-11-22  5:43                   ` Brett Gilio
2018-11-22 11:27                     ` import libjs-*.deb from Debian? (was Re: NPM importer) Giovanni Biscuolo
2018-11-30  3:23                       ` Ricardo Wurmus
2018-11-22  8:36                   ` NPM importer Julien Lepiller
2018-11-24 13:47                     ` swedebugia
2018-11-23 19:50                   ` swedebugia
2018-11-30  3:17                     ` Ricardo Wurmus
2018-11-30 14:17                   ` Packaging async and underscore (Was: Re: NPM importer) swedebugia
2018-11-30 16:08                     ` Packaging async and underscore Julien Lepiller
2018-11-30 16:44                       ` swedebugia
2018-11-24 13:42       ` NPM importer swedebugia
2018-11-30 16:13   ` Improved NPM importer with blacklist (Was: Re: NPM importer) swedebugia
2018-11-30 16:24     ` Improved NPM importer with blacklist Julien Lepiller
2018-11-30 17:20       ` swedebugia
2018-11-30 23:27     ` Improved NPM importer with blacklist (Was: Re: NPM importer) swedebugia
2018-11-11 17:10 ` NPM importer Ludovic Courtès
2018-11-21 16:37   ` Giovanni Biscuolo
2018-11-21 17:15     ` Julien Lepiller
2018-11-22  9:29       ` Giovanni Biscuolo

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=cd700c3f-724c-921d-1ae2-4eb417581abc@riseup.net \
    --to=swedebugia@riseup.net \
    --cc=guix-devel@gnu.org \
    --cc=julien@lepiller.eu \
    /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).