UNPKG

semantic-release-yarn

Version:

semantic-release plugin to publish a npm package with yarn

21 lines (20 loc) 756 B
import { getImplementation } from "./container.js"; import { getError } from "./get-error.js"; export async function getYarnVersion({ cwd }) { const execa = await getImplementation("execa"); try { return (await execa("yarn", ["--version"], { cwd })).stdout; } catch { throw getError("ENOYARN", undefined); } } export async function getYarnMajorVersion({ cwd, }) { const yarnVersion = await getYarnVersion({ cwd }); const majorVersionComponent = yarnVersion.split(".")[0]; if (!majorVersionComponent || Number.isNaN(parseInt(majorVersionComponent, 10))) { throw new Error(`Could not determine Yarn major version, got "${yarnVersion}"`); } return parseInt(majorVersionComponent, 10); }