Skip to content

Semantic-release shareable config with simple commits rules

License

Notifications You must be signed in to change notification settings

artemv/simple-semantic-config

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

simple-semantic-config

semantic-release shareable config to publish npm packages with simple commit rules

Build Status

Why this project exists

This is a shareable config to publish npm packages with simple commit rules bases on angular preset of commit-analyzer plugin with following change: docs, chore and refactor commit types yield patch version. Thus pretty much any correctly formatted commit message yields new version.

Install

$ yarn add --dev "simple-semantic-config"

Usage

The shareable config can be configured in the semantic-release configuration file or package.json:

{
  "release": {
    "extends": "simple-semantic-config"
  }
}

It can work in monorepo semantic-release configuration, too:

{
  "release": {
    "extends": ["semantic-release-monorepo", "simple-semantic-config"]
  }
}

semantic-release-pre

Figures out new version according to semantic-release configuration, and writes it to build/.version file.

Example: BRANCH=master yarn simple-semantic-release-pre

OR

ALLOW_FAILING=false BRANCH=development yarn simple-semantic-release-pre

OR, to write to tmp/.version file:

OUT_DIR=tmp BRANCH=master yarn simple-semantic-release-pre

This requires having write Git access to repo specified in package.json, you can set it by exporting GH_TOKEN env var with: export GH_TOKEN=my-key

When it's run in CircleCI build context it uses CIRCLE_BRANCH so specifying BRANCH is not needed there: yarn simple-semantic-release-pre is enough.

semantic-release takes previous versions info from Github tags of origin remote, so when running it from local fork switch origin to upstream to get the correct new version:

git remote rm origin
git remote add origin [email protected]:upstream/my-project.git
BRANCH=master yarn simple-semantic-release-pre 
git remote rm origin
git remote add origin [email protected]:my-account/my-project.git

About

Semantic-release shareable config with simple commits rules

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 52.5%
  • JavaScript 47.5%