Skip to content

Commit 0defaf6

Browse files
chore: implementing improved peer dependency checks for pre-1.0 packages
1 parent 2c6bf75 commit 0defaf6

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

yarn.config.cjs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -613,10 +613,23 @@ function expectUpToDateWorkspacePeerDependencies(Yarn, workspace) {
613613
dependency.range,
614614
)
615615
) {
616+
// Ensure peer dependency includes latest breaking changes.
617+
//
618+
// Technically pre-1.0 versions can make breaking changes in patch releases, but
619+
// conventionally we always bump the most significant digit for breaking changes.
620+
let peerDependencyRange;
621+
if (dependencyWorkspaceVersion.major > 0) {
622+
peerDependencyRange = `^${dependencyWorkspaceVersion.major}.0.0`;
623+
} else if (dependencyWorkspaceVersion.minor > 0) {
624+
peerDependencyRange = `^0.${dependencyWorkspaceVersion.minor}.0`;
625+
} else {
626+
peerDependencyRange = `^0.0.${dependencyWorkspaceVersion.patch}`;
627+
}
628+
616629
expectWorkspaceField(
617630
workspace,
618631
`peerDependencies["${dependency.ident}"]`,
619-
`^${dependencyWorkspaceVersion.major}.0.0`,
632+
peerDependencyRange,
620633
);
621634
}
622635
}

0 commit comments

Comments
 (0)