MCPcopy Create free account
hub / github.com/aboutcode-org/scancode-toolkit / npm_download_url

Function npm_download_url

src/packagedcode/npm.py:1483–1505  ·  view source on GitHub ↗

Return an npm package tarball download URL given a namespace, name, version and a base registry URL. For example: >>> expected = 'https://registry.npmjs.org/@invisionag/eslint-config-ivx/-/eslint-config-ivx-0.1.4.tgz' >>> assert npm_download_url('@invisionag', 'eslint-config-iv

(namespace, name, version, registry='https://registry.npmjs.org')

Source from the content-addressed store, hash-verified

1481
1482
1483def npm_download_url(namespace, name, version, registry='https://registry.npmjs.org'):
1484 """
1485 Return an npm package tarball download URL given a namespace, name, version
1486 and a base registry URL.
1487
1488 For example:
1489 >>> expected = 'https://registry.npmjs.org/@invisionag/eslint-config-ivx/-/eslint-config-ivx-0.1.4.tgz'
1490 >>> assert npm_download_url('@invisionag', 'eslint-config-ivx', '0.1.4') == expected
1491
1492 >>> expected = 'https://registry.npmjs.org/angular/-/angular-1.6.6.tgz'
1493 >>> assert npm_download_url('', 'angular', '1.6.6') == expected
1494
1495 >>> expected = 'https://registry.npmjs.org/angular/-/angular-1.6.6.tgz'
1496 >>> assert npm_download_url(None, 'angular', '1.6.6') == expected
1497
1498 >>> assert not npm_download_url(None, None, None)
1499 """
1500 if name and version:
1501 if namespace:
1502 ns_name = f'{namespace}/{name}'
1503 else:
1504 ns_name = name
1505 return f'{registry}/{ns_name}/-/{name}-{version}.tgz'
1506
1507
1508def npm_api_url(namespace, name, version=None, registry='https://registry.npmjs.org'):

Callers 3

get_urlsFunction · 0.85
_parseMethod · 0.85
dist_mapperFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected