0.10.7 ā€¢ Published 5 years ago

semantix v0.10.7

Weekly downloads
4
License
MIT
Repository
github
Last release
5 years ago

semantix

Semantix is a tool that analyzes your repository's commit history and generates the appropriate semantic version based off keywords found in the commit messages

Table of Content

šŸ“ˆ Progress

  • Generate CHANGELOG.md
  • Generate current and latest version
  • Update package.json with latest version
  • Private repository support
  • Tag release branch with release versions
    • GitLab
    • GitHub
    • Release Notes

Installation

npm install --save semantix

šŸ“ƒBack to Table of Content

Usage

Semantix keeps track of your projects version number and generates release notes/changelogs automatically. All that needs to be done to leverage Semantix is to format your commits in a specific way.

Commit Format

keyword: A predefined string indicating how much to bump the project version.

scope: An optional argument specifying the scope of the commit -- used in the release process to annotate release tags and generate changelogs.

Mapping specific keyword to release types (major, minor, patch) can be customized and defined in a .semantix.yml configuration file.

keyword: šŸ”šŸ„“šŸŸ
keyword(scope): This is my commit message!

šŸšØ NOTE: Be careful when merging pull requests and using the squash feature. Commit messages need to maintain their specific format in order to be picked up by the semantix commit parser.

package.json

Example

"scripts": {
    "latest": "semantix latest",
    "next": "semantix next",
    "update": "semantix update",
    "release": "semantix release"
}

Command Line

npx semantix <command> [option]

Commands

latest

Checks repository tags to determine the latest release version.


next

Checks repository tags to determine the latest version and calculates the next release version based off of the commit history after the latest release.


update

Update your package.json with the projects next version.


release

In order to use this feature you must provide a set of environment variables for semantix to use.

Creates a tag and release in your GitLab or GitHub remote repository.

Requirements:

šŸ˜ø GitHub

VariableName
Access TokenGITHUB_TOKEN or GH_TOKEN
GitHub API URLGITHUB_URL

šŸ¦Š GitLab

VariableName
Access TokenGITLAB_TOKEN or GL_TOKEN
GitHub API URLGITLAB_URL

Options

OptionDescription
--branchSpecify the branch from which to release.

šŸ“ƒBack to Table of Content

Order of Precedence

If no additional options are given to semantix then the default values will be used. Otherwise, values will be read from the the command line --options first and the missing variables filled in with the .semantix.yml configuration file.

It is recommended to use .semantix.yml for all your configuration and only use the command line --options as overrides.

Configuration

You may store your configuration and override some defaults in a .semantix.yml file

.semantix.yml

branch: master
release:
    BREAKING: major
    feat: minor
    perf: minor
    refactor: minor
    ci: patch
    init: patch
    chore: patch
    fix: patch
    test: patch
    docs: patch
KeyTypeDescriptionDefault
releaseobjectMapping of keywords to semantic version increment amounts.See example
branchstringThe branch to be considered for releases.See example

šŸ“ƒBack to Table of Content

0.10.7

5 years ago

0.10.6

5 years ago

0.10.4

5 years ago

0.20.4

5 years ago

0.10.0

5 years ago

0.9.3

5 years ago

0.9.1

5 years ago

0.9.0

5 years ago

0.8.3

5 years ago

0.8.2

5 years ago

0.7.1

5 years ago

0.7.0

5 years ago

0.5.0

5 years ago

0.4.3

5 years ago

0.4.2

6 years ago

0.4.1

6 years ago

0.3.5

6 years ago

0.3.3

6 years ago

0.3.2

6 years ago

0.3.1

6 years ago