@dylanvann/multi-semantic-release
v3.2.0
Published
hacky [semantic-release](https://github.com/semantic-release/semantic-release) for monorepos
Downloads
2,593
Readme
@qiwi/multi-semantic-release
hacky semantic-release for monorepos
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.