releaseSpec

tcmts.cli.main.releaseSpec · #w42gl6qx · term · runs anywhere

What tcm release was given: <package>[@version], or (with one package) @version, a bare version, or nothing.

import { parseSpec } from "#codebase/tcmts/cli/releases";

export function releaseSpec(arg: string | undefined): { name?: string; version?: string } {
  if (arg === undefined) return {};
  if (/^v?\d+\.\d+\.\d+/.test(arg)) return { version: arg.replace(/^v/, "") };
  if (/^@v?\d/.test(arg)) return { version: arg.slice(1).replace(/^v/, "") };
  return parseSpec(arg);
}

uses

used by