@shinobi5/monobrowdeprecated

Automate the independent versioning and publishing of packages in a monorepo

Usage no npm install needed!

<script type="module">
  import shinobi5Monobrow from 'https://cdn.skypack.dev/@shinobi5/monobrow';
</script>

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