[OE-core] [RFC][PATCH 0/6] NPM refactoring
Jean-Marie LEMETAYER
jean-marie.lemetayer at savoirfairelinux.com
Thu Oct 24 15:13:36 UTC 2019
Hi Stefan,
On Oct 24, 2019, at 2:40 PM, Stefan Herbrechtsmeier stefan at herbrechtsmeier.net wrote:
> Fist we should use 'npm ci' instead of 'npm install'.
Thanks for the tips, I did not know about the 'npm ci' command. Sadly it fails to handle '--global' installation. The 'npm pack && npm install' trick is much more efficient as explain in this commit:
https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=d38e1e2c2ea4646b34ea6282d3d7620df5b0374b
> How would you handle prebuild binaries? Would you disable prebuild binaries?
I have no case of using prebuild binaries. Can you give me an example of a package using prebuild?
> How would you handle native packages (ex. angular-cli)?
Like this (this a part of the next patchset to support angular):
$ cat meta-oe/recipes-devtools/angular-cli/angular-cli_8.3.12.bb
SUMMARY = "CLI tool for Angular"
HOMEPAGE = "https://github.com/angular/angular-cli"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=dc2a37e472c366af2a7b8bd0f2ba5af4"
SRC_URI = "npm://registry.npmjs.org;name=@angular/cli;version=${PV}"
S = "${WORKDIR}/npm"
inherit npm
NPM_SHRINKWRAP = "${THISDIR}/${BPN}/npm-shrinkwrap.json"
BBCLASSEXTEND = "native"
> How would you patch dependencies?
I am not sure that it is managed in the actual implementation. I believe that the interest is limited.
> How would you remove unneeded files (ex. documentation, examples, source
> code)?
I don't. Only the build files are removed (when using addons). It is not possible to know which files should be kept or deleted.
>> License management should be also handled by npm, and if it isn't, then
>> we need to work with the upstream to address it.
>
> To my knowledge npm don't check license files. It only reads the license
> in the package.json.
You are right, that's also a reason why the license management needs a rework.
Regards,
Jean-Marie
More information about the Openembedded-core
mailing list