Files
shields/services/librariesio/librariesio-common.js
netsgnut 76665f6b42 Allow [librariesio] badges referencing scoped npm package (#4025) (#4151)
* Allow libraries.io badges referencing scoped npm package (#4025)

* Set timeout of all libraries.io test units to 10s
2019-10-11 08:56:01 -05:00

27 lines
758 B
JavaScript

'use strict'
const Joi = require('@hapi/joi')
const { nonNegativeInteger, anyInteger } = require('../validators')
// API doc: https://libraries.io/api#project
const projectSchema = Joi.object({
platform: Joi.string().required(),
dependents_count: nonNegativeInteger,
dependent_repos_count: nonNegativeInteger,
rank: anyInteger,
}).required()
async function fetchProject(serviceInstance, { platform, scope, packageName }) {
return serviceInstance._requestJson({
schema: projectSchema,
url: `https://libraries.io/api/${encodeURIComponent(platform)}/${
scope ? encodeURIComponent(`${scope}/`) : ''
}${encodeURIComponent(packageName)}`,
errorMessages: { 404: 'package not found' },
})
}
module.exports = {
fetchProject,
}