README
:loop: Monobrow
A function that automates the independent versioning and publishing of packages in a monorepo.
Requires commit messages in the following format
<type>(<package-name>): <message>
Note: For packages with a scope e.g. @scope/package-name
just include the package-name
without the @scope/
prefix.
Example
feat(package-a): add such things to package-a
scripts/publish.js
const monobrow = require('@shinobi5/monobrow');
const pkgA = require('./packages/package-a/package.json');
const pkgB = require('./packages/package-b/package.json');
const packages = [pkgA, pkgB];
const config = {
scope: '@brow/', // default: null
semverPrefix: '-', // default: '@' e.g. packageName@version
conventions: {
patch: ['docs', 'style'], // default: ['chore, deprecate', 'fix']
minor: ['minor', 'feature'], // default: ['feat']
major: ['breaking'], // ['break']
},
publicAccess: false, // default: true
dryRun: true, // default: false
};
packages.map(monobrow(config));
Run script locally or in CI
node scripts/publish.js