npm
Version:
a package manager for JavaScript
12 lines (10 loc) • 375 B
JavaScript
const { spawn } = require('@npmcli/git')
const semver = require('semver')
module.exports = async opts => {
const tag = (await spawn(['describe', '--tags', '--abbrev=0', '--match=*.*.*'], opts)).stdout.trim()
const ver = semver.coerce(tag, { loose: true })
if (ver) {
return ver.version
}
throw new Error(`Tag is not a valid version: ${JSON.stringify(tag)}`)
}