Files
shields/services/bower/bower-base.js
T
chris48sandGitHub 8621fe42d7 Upgrade Joi (#3505)
* upgrade joi
* find & replace ALL THE THINGS
* update related deps
2019-06-02 21:59:55 +01:00

39 lines
958 B
JavaScript

'use strict'
const Joi = require('@hapi/joi')
const { BaseJsonService } = require('..')
const schema = Joi.object()
.keys({
normalized_licenses: Joi.array()
.items(
// normalized_license may be [] if the package does not declare a license
Joi.string()
)
.required(),
// latest_stable_release can be object or NULL
latest_stable_release: Joi.object()
.keys({
name: Joi.string().required(),
})
.allow(null),
// latest_release_number can be NULL for bower because bower
// has no registry to enforce any release exists
latest_release_number: Joi.string().allow(null),
})
.required()
module.exports = class BaseBowerService extends BaseJsonService {
async fetch({ packageName }) {
return this._requestJson({
schema,
url: `https://libraries.io/api/bower/${packageName}`,
errorMessages: {
404: 'package not found',
},
})
}
}