mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00
classes-recipe: npm: Complain immediately if npm-shrinkwrap.json is too old
Rather than emitting: Exception: KeyError: 'packages' and a stack trace, let's fail immediately if lockfileVersion implies that the npm-shrinkwrap.json file isn't compatible. The documentation[1] doesn't make it clear which lockfileVersions are guaranteed to contain "packages". I have lockfileVersion 1 files without. Running npm 7.5.2 generates npm-shrinkwrap.json files with lockfileVersion 2 and "packages", so I've set the minimum to be 2. [1] https://docs.npmjs.com/cli/v7/configuring-npm/package-lock-json (From OE-Core rev: 4d3cbd11bc9cc0bf5a8571ecd3ce6e5e5c6ef6eb) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
916205dac9
commit
f762d4537c
|
@ -154,6 +154,9 @@ python npm_do_configure() {
|
|||
has_shrinkwrap_file = False
|
||||
|
||||
if has_shrinkwrap_file:
|
||||
if int(orig_shrinkwrap.get("lockfileVersion", 0)) < 2:
|
||||
bb.fatal("%s: lockfileVersion version 2 or later is required" % orig_shrinkwrap_file)
|
||||
|
||||
cached_shrinkwrap = copy.deepcopy(orig_shrinkwrap)
|
||||
for package in orig_shrinkwrap["packages"]:
|
||||
if package != "":
|
||||
|
|
Loading…
Reference in New Issue
Block a user