马宇豪
2024-08-29 893ff90c6e21fa3a5241a8ae9b33836037cd5912
1
2
3
4
5
6
7
8
9
10
11
12
13
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)}`)
}