@k88/lerna-publish v1.0.3
lerna-publish
A simple script for publishing Lerna monorepo projects.
Installation
Install using
# If using npm
npm install -D @k88/lerna-publish
# If using yarn
yarn add -D @k88/lerna-publishUsage
Add the following three scripts to your package.json's scripts:
{
  "scripts": {
    "publish:alpha": "lerna-publish alpha",
    "publish:beta": "lerna-publish beta",
    "publish:public": "lerna-publish public"
  }
}Details
The script will perform the following tasks:
1) Check publish version (see below for more detail)
2) Removes all dist/lib/node_modules directory
3) Performs a fresh npm install
4) Runs npm run lint
5) Runs npm run test
6) Runs npm run build
7) Publishes the packages
Publish types
This script safeguards performing public/beta/alpha publication based on:
- publicmay only run on- mainbranch
- betamay only run on- v\d-betabranch (i.e.- v1-beta,- v2-beta,- v3-beta, etc)
- alphamay only run on non-beta/non-publich branches
Distribution Tags
The following tags are published:
- The publicpublish pushes alatestdist tag
- The betapublish pushes abetadist tag
- The alphapublish pushes aalphadist tag
Version bump
You can pass an optional patch/minor/major argument to change the version bump. By default, a patch is published. Some examples are:
# Publishes a patch beta
npm run publish:beta
# Publishes a minor public
npm run publish:public minorNo package-lock.json
If you do not want to keep your package-file.json, provide NO_PACKAGE_LOCK=1 lerna-publish ... to force-remove the lock.