@dylanvann/multi-semantic-release

3.2.0 • Public • Published

@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.

Readme

Keywords

none

Package Sidebar

Install

npm i @dylanvann/multi-semantic-release

Weekly Downloads

376

Version

3.2.0

License

0BSD

Unpacked Size

45.3 kB

Total Files

18

Last publish

Collaborators

  • dylanvann