npm.client: Handle packages with no versions
Some registered packages may not have any version available, resulting in the following error:
[2019-04-11 12:00:12,754: ERROR/ForkPoolWorker-18] Loading failure, updating to `partial` status
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/swh/loader/core/loader.py", line 894, in load
self.store_data()
File "/usr/lib/python3/dist-packages/swh/loader/npm/loader.py", line 294, in store_data
self._generate_and_load_snapshot()
File "/usr/lib/python3/dist-packages/swh/loader/npm/loader.py", line 264, in _generate_and_load_snapshot
latest_version = self.npm_client.latest_package_version()
File "/usr/lib/python3/dist-packages/swh/loader/npm/client.py", line 59, in latest_package_version
return self.package_metadata['dist-tags']['latest']
KeyError: 'latest'
So fix and test that specific case.
Related T1644
Migrated from D1409 (view on Phabricator)