(
changeset: {
releases: Array<Release>;
summary: string;
},
repoHasMultiplePackages: boolean
)
| 3 | import { Release, VersionType } from "@changesets/types"; |
| 4 | |
| 5 | export default function printConfirmationMessage( |
| 6 | changeset: { |
| 7 | releases: Array<Release>; |
| 8 | summary: string; |
| 9 | }, |
| 10 | repoHasMultiplePackages: boolean |
| 11 | ) { |
| 12 | function getReleasesOfType(type: VersionType) { |
| 13 | return changeset.releases |
| 14 | .filter((release) => release.type === type) |
| 15 | .map((release) => release.name); |
| 16 | } |
| 17 | log("\n=== Summary of changesets ==="); |
| 18 | const majorReleases = getReleasesOfType("major"); |
| 19 | const minorReleases = getReleasesOfType("minor"); |
| 20 | const patchReleases = getReleasesOfType("patch"); |
| 21 | |
| 22 | if (majorReleases.length > 0) |
| 23 | log(`${pc.bold(pc.green("major"))}: ${majorReleases.join(", ")}`); |
| 24 | if (minorReleases.length > 0) |
| 25 | log(`${pc.bold(pc.green("minor"))}: ${minorReleases.join(", ")}`); |
| 26 | if (patchReleases.length > 0) |
| 27 | log(`${pc.bold(pc.green("patch"))}: ${patchReleases.join(", ")}`); |
| 28 | |
| 29 | log(""); |
| 30 | |
| 31 | if (repoHasMultiplePackages) { |
| 32 | const message = |
| 33 | "Note: All dependents of these packages that will be incompatible with the new version will be " + |
| 34 | pc.redBright("patch bumped") + |
| 35 | " when this changeset is applied."; |
| 36 | |
| 37 | log(message + "\n"); |
| 38 | } |
| 39 | } |
no test coverage detected