beachball icon indicating copy to clipboard operation
beachball copied to clipboard

Conditionally bump dependents on publish

Open okjodom opened this issue 3 years ago • 1 comments

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:

  1. Current Schema bumpDeps: boolean = true by default

  2. Proposed Schema

      bumpDeps: boolean | {
          bumpFor?: ChangeType
      }
    

Application:

  1. bumpDeps: boolean - maintains current behavior
  2. bumpDeps: {} - same behavior as bumpDeps: true
  3. 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
  4. Similar outcome for bumpFor: 'minor' ... bumpFor: 'prerelease'
  5. bumpDeps: { bumpFor: 'none' } - same behavior as bumpDeps: false

okjodom avatar Dec 10 '21 19:12 okjodom

cc @kenotron, @ecraig12345, @JasonGore. Could you help review issue when possible

okjodom avatar Dec 10 '21 19:12 okjodom