Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@dylanvann/multi-semantic-release

qiwi3.2k0BSD3.2.0

hacky semantic-release for monorepos

readme

@qiwi/multi-semantic-release

hacky semantic-release for monorepos

Travis CI semantic-release Maintainability Test Coverage

This fork of dhoub/multi-semantic-release replaces setImmediate loops and execa.sync hooks with event-driven flow and finally makes possible to run the most release operations in parallel.
🎉 🎉 🎉

Install

yarn add @qiwi/multi-semantic-release --dev

Usage

multi-semantic-release

Configuration

MSR requires semrel config to be added in any supported format for each package or/and declared in repo root (globalConfig is extremely useful if all the modules have the same strategy of release).
NOTE config resolver joins globalConfig and packageConfig during execution.

// Load the package-specific options.
const { options: pkgOptions } = await getConfig(dir);

// The 'final options' are the global options merged with package-specific options.
// We merge this ourselves because package-specific options can override global options.
const finalOptions = Object.assign({}, globalOptions, pkgOptions);

Verified examples

We use this tool to release our JS platform code inhouse (GitHub Enterprise + JB TeamCity) and for our OSS (GitHub + Travis CI). Guaranteed working configurations available in projects.

changelog

3.2.0 (2020-07-14)

Features

  • apply --first-parent filter to commits (14a896b)

3.1.0 (2020-07-07)

Features

  • uphold the prev package.json indents (ac5832f)

3.0.3 (2020-06-26)

Bug Fixes

  • override env.TRAVIS_PULL_REQUEST_BRANCH to fix PR checks on travis-ci (e4b1929), closes #11

3.0.2 (2020-06-16)

Bug Fixes

  • allow any todo package to run the generateNotes queue (26a87d7), closes #9

3.0.1 (2020-06-05)

Bug Fixes

  • filter queued packages on generateNotes stage (e0625ce), closes #6

3.0.0 (2020-06-04)

Features

  • engine: up nodejs version (10af385)

BREAKING CHANGES

  • engine: the latest semantic-release requires Node.js 10.18

2.6.4 (2020-05-28)

Performance Improvements

2.6.3 (2020-05-28)

Performance Improvements

  • straighten plugins execution pipeline (e57fe2f), closes #4

2.6.2 (2020-05-22)

Bug Fixes

2.6.1 (2020-05-22)

Bug Fixes

  • provide partial release (898998a)

2.6.0 (2020-05-21)

Features

  • let publish step run in parallel (4d5c451)

2.5.0 (2020-05-20)

Bug Fixes

Features

  • add execa queued hook (042933e)
  • apply queuefy to plugin methods instead of execa (9ae7d0d)

2.4.3 (2020-03-08)

Performance Improvements

2.4.2 (2020-03-07)

Bug Fixes

  • make logger to be singleton (1790794)

2.4.1 (2020-03-07)

Performance Improvements

2.4.0 (2020-03-07)

Features

2.3.3 (2020-03-07)

Bug Fixes

2.3.2 (2020-03-07)

Performance Improvements

  • log multi-sem-rel flags (75389e0)

2.3.1 (2020-03-07)

Bug Fixes

2.3.0 (2020-03-06)

Features

2.2.0 (2020-03-06)

Features

  • add meow as cli provider (6de93b9)

2.1.3 (2020-03-05)

Bug Fixes

  • try to prevent deps update rollback (9108350)

2.1.2 (2020-02-13)

Bug Fixes

  • cli: fix inner spawnhook call (70aa292)

2.1.1 (2020-02-13)

Bug Fixes

  • cli: restore watchspawn context (56145aa)

2.1.0 (2020-02-13)

Features

  • add process.spawn arg watcher (7699b6f)

2.0.1 (2020-02-11)

Performance Improvements

2.0.0 (2020-01-19)

Features

Performance Improvements

  • package: up deps & tech release (bf00b41)

BREAKING CHANGES

  • drop nodejs v8

1.2.0 (2019-11-03)

Features

1.1.0 (2019-11-03)

Bug Fixes

  • package: add missed sem-rel plugins (f3c9318)
  • package: update execa to be compatible with sem-rel 15.13.28 (069bb4e), closes #7
  • force a release (1e3ece5)

Features

  • add execasync CLI flag to make execa calls be always synchronous (693438c), closes #1