sfgov-design-system
Version:
This is the design system for [SF.gov](https://sf.gov) and the City & County of San Francisco.
33 lines (29 loc) • 931 B
JavaScript
const pkg = require('../../package.json')
const { github, context, sha } = require('../../lib/git')
let version
module.exports = async function getPackageWithVersion () {
if (!version) {
version = await getPublishedStatusVersion() || pkg.version
}
return { ...pkg, version }
}
async function getPublishedStatusVersion () {
try {
const res = await github.repos.listCommitStatusesForRef({
...context,
ref: sha
})
const statuses = res.data
const versionStatus = statuses.find(status => {
return status.state === 'success' && status.context.includes('publish')
})
if (versionStatus) {
// console.info('got published version status:', versionStatus)
return versionStatus.description
} else {
console.warn('no published version status for %s', sha, statuses)
}
} catch (error) {
console.warn('unable to get published version status:', error)
}
}