Bumping dependents in our monorepo causes a lot of churn for package versions. However, turning off bumpDeps is not desirable since we'd still like to keep automated synchrony of versions with bump. Presently, keeping bumpDeps is only important for us on major bumps.
Could we have a scheme for conditionally allowing bumping dependents?
Below is a proposal to improve bumpDeps configuration schema:
Current Schema
bumpDeps: boolean = true by default
Proposed Schema
bumpDeps: boolean | {
bumpFor?: ChangeType
}
Application:
bumpDeps: boolean - maintains current behavior
bumpDeps: {} - same behavior as bumpDeps: true
bumpDeps: { bumpFor: 'major' } - for any major change, dependents get bumped.
Recursion of bumping dependents stops based on the same bumpDeps rule, so only 1 depth of dependents get bumped as patch
Similar outcome for bumpFor: 'minor' ... bumpFor: 'prerelease'
bumpDeps: { bumpFor: 'none' } - same behavior as bumpDeps: false
Bumping dependents in our monorepo causes a lot of churn for package versions. However, turning off
bumpDeps
is not desirable since we'd still like to keep automated synchrony of versions with bump. Presently, keepingbumpDeps
is only important for us on major bumps.Could we have a scheme for conditionally allowing bumping dependents?
Below is a proposal to improve
bumpDeps
configuration schema:Current Schema
bumpDeps: boolean
=true
by defaultProposed Schema
Application:
bumpDeps: boolean
- maintains current behaviorbumpDeps: {}
- same behavior asbumpDeps: true
bumpDeps: { bumpFor: 'major' }
- for any major change, dependents get bumped.bumpDeps
rule, so only 1 depth of dependents get bumped aspatch
Similar outcome for
bumpFor: 'minor'
...bumpFor: 'prerelease'
bumpDeps: { bumpFor: 'none' }
- same behavior asbumpDeps: false