text: 'use strict'
  
  const Joi = require('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',
        },
      })
    }
  }
  