3.2.0 ⢠Published 5 years ago
@dylanvann/multi-semantic-release v3.2.0
@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 --devUsage
multi-semantic-releaseConfiguration
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.
3.2.0
5 years ago