# All files / lib/utils hosted-git-info-from-manifest.js

100% Statements 5/5
100% Branches 11/11
100% Functions 1/1
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

    1x
    1x
    8x
    8x

    8x

     // given a manifest, try to get the hosted git info from it based on
    // repository (if a string) or repository.url (if an object)
    // returns null if it's not a valid repo, or not a known hosted repo
    const hostedGitInfo = require('hosted-git-info')
    module.exports = mani => {
      const r = mani.repository
      const rurl = !r ? null
        : typeof r === 'string' ? r
        : typeof r === 'object' && typeof r.url === 'string' ? r.url
        : null

      // hgi returns undefined sometimes, but let's always return null here
      return rurl && hostedGitInfo.fromUrl(rurl.replace(/^git\+/, '')) || null
    }