You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It looks like the peerDependencies always matches the version of the published package. Not sure if this is intentional.
Typically, peerDependencies should stay pinned to a concrete version, and should only change if there was, in fact, an incompatible change.
Also a change in peerDependencies, even a patch, is considered to be a breaking change according to SemVer, and would then require a major bump on the package that declares the peer dependency.
This behaviour is undesirable, as it is impossible to use strict peer deps setting in the package manager config, which is the correct way to define deps.
This is in the context of building reusable constructs. My reusable construct defines a peer as 2.100.0, but these alpha packages define a peer as "aws-cdk-lib": "^2.123.0", and then pnpm` fails with:
└─┬ @aws-cdk/integ-tests-alpha 2.123.0-alpha.0
└── ✕ unmet peer aws-cdk-lib@^2.123.0: found 2.100.0
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
It looks like the
peerDependencies
always matches the version of the published package. Not sure if this is intentional.Typically,
peerDependencies
should stay pinned to a concrete version, and should only change if there was, in fact, an incompatible change.Also a change in
peerDependencies
, even a patch, is considered to be a breaking change according to SemVer, and would then require a major bump on the package that declares the peer dependency.This behaviour is undesirable, as it is impossible to use strict peer deps setting in the package manager config, which is the correct way to define deps.
This is in the context of building reusable constructs. My reusable construct defines a peer as
2.100.0
, but these alpha packages define a peer as"aws-cdk-lib": "^2.123.0", and then
pnpm` fails with:Beta Was this translation helpful? Give feedback.
All reactions