(cwd: string, config: Config)
| 6 | import { getUntaggedPackages } from "../../utils/getUntaggedPackages"; |
| 7 | |
| 8 | export default async function tag(cwd: string, config: Config) { |
| 9 | const { packages, tool } = await getPackages(cwd); |
| 10 | |
| 11 | const allExistingTags = await git.getAllTags(cwd); |
| 12 | |
| 13 | const taggablePackages = packages.filter( |
| 14 | (pkg) => |
| 15 | !shouldSkipPackage(pkg, { |
| 16 | ignore: config.ignore, |
| 17 | allowPrivatePackages: config.privatePackages.tag, |
| 18 | }) |
| 19 | ); |
| 20 | |
| 21 | for (const { name, newVersion } of await getUntaggedPackages( |
| 22 | taggablePackages, |
| 23 | cwd, |
| 24 | tool |
| 25 | )) { |
| 26 | const tag = tool !== "root" ? `${name}@${newVersion}` : `v${newVersion}`; |
| 27 | |
| 28 | if (allExistingTags.has(tag)) { |
| 29 | log("Skipping tag (already exists): ", tag); |
| 30 | } else { |
| 31 | log("New tag: ", tag); |
| 32 | await git.tag(tag, cwd); |
| 33 | } |
| 34 | } |
| 35 | } |
no test coverage detected