-
Notifications
You must be signed in to change notification settings - Fork 58
Description
During the early stages of Player when we were updating more frequently, having a specific version pinned for a dependency/devDependency/peerDependency. But for 1.0 we should better select the versions and ranges a package works with for cases where a user may not have bumped every package or when something else like tools is dependent on a specific player version (@player-ui/types being one of the main ones).
A good example of this is the asset-transform-plugin
At 1.0.0 we should instead structure the dependencies like this:
{
"dependencies": {
"@player-ui/partial-match-registry": "^1.0.0",
"tslib": "^2.6.2"
},
"devDependencies": {
"@player-ui/types": "^1.0.0"
},
"peerDependencies": {
"@player-ui/player": ">= 1.0.0"
}
}Then, if we have any notable additions that are required, we ensure the dependency or peer is updated to the correct range:
{
"peerDependencies": {
"@player-ui/player": ">= 1.0.3"
}
}Besides the peers, most of this can be done by making PNPM workspace be this instead:
{
"dependencies": {
"@player-ui/partial-match-registry": "workspace:^"
}
}Mostly a simple change, but just want to ensure we delegate some of this work to the package managers since they would handle resolution better, even if something like @player-ui/player is the only version bumped.