Return an npm package registry homepage URL given a namespace, name, version and a base registry web interface URL. For example: >>> expected = 'https://www.npmjs.com/package/@invisionag/eslint-config-ivx' >>> assert npm_homepage_url('@invisionag', 'eslint-config-ivx') == expec
(namespace, name, registry='https://www.npmjs.com/package')
| 1450 | |
| 1451 | |
| 1452 | def npm_homepage_url(namespace, name, registry='https://www.npmjs.com/package'): |
| 1453 | """ |
| 1454 | Return an npm package registry homepage URL given a namespace, name, |
| 1455 | version and a base registry web interface URL. |
| 1456 | |
| 1457 | For example: |
| 1458 | >>> expected = 'https://www.npmjs.com/package/@invisionag/eslint-config-ivx' |
| 1459 | >>> assert npm_homepage_url('@invisionag', 'eslint-config-ivx') == expected |
| 1460 | |
| 1461 | >>> expected = 'https://www.npmjs.com/package/angular' |
| 1462 | >>> assert npm_homepage_url(None, 'angular') == expected |
| 1463 | |
| 1464 | >>> expected = 'https://www.npmjs.com/package/angular' |
| 1465 | >>> assert npm_homepage_url('', 'angular') == expected |
| 1466 | |
| 1467 | >>> expected = 'https://yarnpkg.com/en/package/angular' |
| 1468 | >>> assert npm_homepage_url('', 'angular', 'https://yarnpkg.com/en/package') == expected |
| 1469 | |
| 1470 | >>> expected = 'https://yarnpkg.com/en/package/@ang/angular' |
| 1471 | >>> assert npm_homepage_url('@ang', 'angular', 'https://yarnpkg.com/en/package') == expected |
| 1472 | |
| 1473 | >>> assert not npm_homepage_url(None, None) |
| 1474 | """ |
| 1475 | if name: |
| 1476 | if namespace: |
| 1477 | ns_name = f'{namespace}/{name}' |
| 1478 | else: |
| 1479 | ns_name = name |
| 1480 | return f'{registry}/{ns_name}' |
| 1481 | |
| 1482 | |
| 1483 | def npm_download_url(namespace, name, version, registry='https://registry.npmjs.org'): |