{"version":3,"sources":["commands/versions.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,MAAM,EACP,MAAM,eAAe,CAAC;AAGvB,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,MAAM,EAAE,EACf,EACE,IAAI,EAAE,aAAa,EAAE,GAAG,KAAK,EAC9B,EAAE,MAAM,GACR,OAAO,CAAC,IAAI,CAAC,CAuCf","file":"versions.d.ts","sourcesContent":["import chalk from 'chalk';\nimport {\n  getWorkspaces,\n  toWorkspacesRunOptions,\n} from '../utils/workspaces';\nimport { addTag, pushTag } from '../utils/git';\nimport { getNextVersionsByWorkspaces } from '../utils/versions';\nimport {\n  trimmedColumns,\n  write,\n} from '../utils';\nimport {\n  IFlags, IWorkspaceVersion,\n} from '../interfaces';\n\n\nexport async function commandGetVersionsByWorkspaces(\n  _args: string[],\n  {\n    push, gitTagVersion, ...flags\n  }: IFlags,\n): Promise<void> {\n  try {\n    const opts = toWorkspacesRunOptions(_args, flags);\n    const workspaces = await getWorkspaces(opts.filterOpts);\n    const versionsByWorkspace: IWorkspaceVersion[] = await getNextVersionsByWorkspaces(workspaces);\n\n    if (gitTagVersion) {\n      const tags = versionsByWorkspace.map((versionByWorkspace: IWorkspaceVersion) => {\n        const [workspace, version] = Object.entries(versionByWorkspace)[0];\n        return version ? `${workspace}-v${version}` : null;\n      }).filter((tag: string) => tag !== null);\n\n      const promises = tags.map(async (tag: string): Promise<void> => {\n        const result = await addTag(tag);\n        return result;\n      });\n\n      await Promise.all(promises);\n\n      if (push && tags.length !== 0) {\n        await pushTag();\n      }\n    }\n\n    const versionsToPrint: { workspace: string; version: string | null }[] = [];\n    versionsByWorkspace.forEach((versionByWorkspace: IWorkspaceVersion): void => {\n      Object.entries(versionByWorkspace)\n        .forEach(([workspace, version]: [string, string | null]): void => {\n          versionsToPrint.push({\n            workspace,\n            version: chalk.green(version || 'No next version'),\n          });\n        });\n    });\n\n    write(trimmedColumns(versionsToPrint, ['workspace', 'version']));\n  } catch (error) {\n    write('Error', {}, error);\n  }\n}\n"]}