From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier-oss@weidmueller.com>
To: Alexander Kanavin <alex.kanavin@gmail.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>,
OE-core <openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] Improve npm support to run build scripts
Date: Tue, 5 Oct 2021 19:44:26 +0200 [thread overview]
Message-ID: <0bddcbc4-cf11-39da-5797-131fc59d7f6f@weidmueller.com> (raw)
In-Reply-To: <CANNYZj8Fns4xWre3_ajv-5QADpCi0f+WS2wRXCKXezOgj5fhzg@mail.gmail.com>
Hi Alex,
Am 05.10.2021 um 15:10 schrieb Alexander Kanavin:
> I think the supposed workflow with the new npm.class was to use 'devtool
> create' which would run some npm magic to to create a single recipe that
> has all of the npm-fetched dependencies inside SRC_URI.
There is no magic inside npm. It parse json recipes, calculate a
dependency tree, download archives, checks the archives, unpack the
archives and run some commands from the json recipes.
The 'devtool add' create a recipe with over 1000 dependencies. A lot of
the dependencies have an unknown license. I have improve createtool to
detect more licenses and fallback to the readme if no license file exist.
The npm class doesn't support run of build scripts. The build of an
application (ex. angular) need native binaries inside its npm dependencies.
The existing solution have the same problems like embedded dependencies
in other recipes (ex. multiple version of the same project, unneeded
dependencies, unforeseeable downloads, pre-builds, on the fly binary
builds, ...)
You have to fix a bug in different versions of the same project at
different positions in the dependency tree inside multiple recipes.
The main different between a normal (ex C++) and npm project is that npm
use many small packages as dependency.
> Have you tried that?
Sure. Otherwise I haven't spot the limitations and work on improvements.
> A layer with thousands of recipes seems totally intractable.
What is your concern? The high number of dependencies or to handle it
via OE?
We have the high number of dependencies in any case and need to handle
the proxy/CVE/license problem. Could we reuse OE or should we use
different software for the same problems?
Regards
Stefan
next prev parent reply other threads:[~2021-10-05 17:44 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-05 10:04 Improve npm support to run build scripts Stefan Herbrechtsmeier
2021-10-05 11:09 ` Richard Purdie
2021-10-05 12:48 ` Stefan Herbrechtsmeier
2021-10-05 13:10 ` [OE-core] " Alexander Kanavin
2021-10-05 17:44 ` Stefan Herbrechtsmeier [this message]
2021-10-05 19:17 ` Alexander Kanavin
2021-10-05 19:29 ` Konrad Weihmann
2021-10-06 4:32 ` Chuck Wolber
2021-10-06 9:18 ` Stefan Herbrechtsmeier
2021-10-06 9:43 ` Konrad Weihmann
2021-10-06 9:47 ` Alexander Kanavin
2021-10-08 5:27 ` Tim Orling
2021-10-08 6:41 ` Stefan Herbrechtsmeier
2021-10-19 12:51 ` Stefan Herbrechtsmeier
2021-10-19 14:19 ` Alexander Kanavin
2021-10-06 9:17 ` Stefan Herbrechtsmeier
[not found] ` <16AB247E1F8222C3.20282@lists.openembedded.org>
2021-10-05 13:14 ` Alexander Kanavin
2021-10-05 18:18 ` Robert Berger
2021-10-06 9:17 ` Stefan Herbrechtsmeier
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0bddcbc4-cf11-39da-5797-131fc59d7f6f@weidmueller.com \
--to=stefan.herbrechtsmeier-oss@weidmueller.com \
--cc=alex.kanavin@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=richard.purdie@linuxfoundation.org \
/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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.