马宇豪
2024-07-16 f591c27b57e2418c9495bc02ae8cfff84d35bc18
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)}`)
}