diff --git a/.changeset/metal-queens-doubt.md b/.changeset/metal-queens-doubt.md new file mode 100644 index 000000000..fd38889f8 --- /dev/null +++ b/.changeset/metal-queens-doubt.md @@ -0,0 +1,5 @@ +--- +"@changesets/apply-release-plan": patch +--- + +Improve error handling when an invalid release type is specified in a changeset diff --git a/packages/apply-release-plan/src/get-changelog-entry.ts b/packages/apply-release-plan/src/get-changelog-entry.ts index 1f07982de..fb13b8f68 100644 --- a/packages/apply-release-plan/src/get-changelog-entry.ts +++ b/packages/apply-release-plan/src/get-changelog-entry.ts @@ -51,6 +51,12 @@ export default async function getChangelogEntry( changesets.forEach((cs) => { const rls = cs.releases.find((r) => r.name === release.name); if (rls && rls.type !== "none") { + if (!(rls.type in changelogLines)) { + throw new Error( + `Invalid release type of "${rls.type}" for package "${rls.name}" in changeset "${cs.id}"` + ); + } + changelogLines[rls.type].push( changelogFuncs.getReleaseLine(cs, rls.type, changelogOpts) );