mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
classe-recipes: npm: Add support for dependencies and devDependencies
Adapt the npm classe for the shrinkwrap of Nodejs 18, and seperate dependencies and dev dependencies. (From OE-Core rev: f8365c0216b24742b4ec456b5d35ea1c1647faa2) Signed-off-by: BELOUARGA Mohamed <m.belouarga@technologyandstrategy.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
17732f9cb4
commit
186f1ee88d
|
@ -153,7 +153,11 @@ python npm_do_configure() {
|
|||
|
||||
if has_shrinkwrap_file:
|
||||
cached_shrinkwrap = copy.deepcopy(orig_shrinkwrap)
|
||||
cached_shrinkwrap.pop("dependencies", None)
|
||||
for package in orig_shrinkwrap["packages"]:
|
||||
if package != "":
|
||||
cached_shrinkwrap["packages"].pop(package, None)
|
||||
cached_shrinkwrap["packages"][""].pop("dependencies", None)
|
||||
cached_shrinkwrap["packages"][""].pop("devDependencies", None)
|
||||
cached_shrinkwrap["packages"][""].pop("peerDependencies", None)
|
||||
|
||||
# Manage the dependencies
|
||||
|
@ -177,9 +181,16 @@ python npm_do_configure() {
|
|||
dep["integrity"] = _npm_integrity(tarball)
|
||||
if params.get("dev", False):
|
||||
dep["dev"] = True
|
||||
if "dependencies" not in cached_shrinkwrap:
|
||||
cached_shrinkwrap["dependencies"] = {}
|
||||
cached_shrinkwrap["dependencies"][name] = dep
|
||||
if "devDependencies" not in cached_shrinkwrap["packages"][""]:
|
||||
cached_shrinkwrap["packages"][""]["devDependencies"] = {}
|
||||
cached_shrinkwrap["packages"][""]["devDependencies"][name] = pkg['version']
|
||||
|
||||
else:
|
||||
if "dependencies" not in cached_shrinkwrap["packages"][""]:
|
||||
cached_shrinkwrap["packages"][""]["dependencies"] = {}
|
||||
cached_shrinkwrap["packages"][""]["dependencies"][name] = pkg['version']
|
||||
|
||||
cached_shrinkwrap["packages"][destsuffix] = dep
|
||||
# Display progress
|
||||
nonlocal progress_done
|
||||
progress_done += 1
|
||||
|
@ -212,7 +223,7 @@ python npm_do_configure() {
|
|||
# Configure the cached manifest file and cached shrinkwrap file
|
||||
def _update_manifest(depkey):
|
||||
for name in orig_manifest.get(depkey, {}):
|
||||
version = cached_shrinkwrap["dependencies"][name]["version"]
|
||||
version = cached_shrinkwrap["packages"][""][depkey][name]
|
||||
if depkey not in cached_manifest:
|
||||
cached_manifest[depkey] = {}
|
||||
cached_manifest[depkey][name] = version
|
||||
|
|
Loading…
Reference in New Issue
Block a user