/semantiq

A basic cli that gets the next semantic release version

Primary LanguageJavaScriptGNU Lesser General Public License v2.1LGPL-2.1

Semantiq

A most basic cli that gets the next semantic release, looking at the last commit and package.json version.

code style: prettier Build Status codecov GitHub npm


Contents

Usage

Install

npm install semantiq

CLI

semantiq

Expected output is the next release if the last commit follows the Angular commits convention and a package.json exists.

Example

Given you have a commit of:

feat: My brand new feature!

And a package with:

{
    "version": "1.0.1"
}

When you call semantiq, the result will be:

$ 1.1.0

Commit Flags 🏁

Semver: major.minor.patch eg. 1.4.5

Flag Description Semver
feat A new feature Minor
fix A bug fix patch
docs Documentation only changes patch
style Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) -
refactor A code change that neither fixes a bug nor adds a feature patch
perf A code change that improves performance patch
test Adding missing or correcting existing tests patch
chore Changes to the build process or auxiliary tools and libraries such as documentation generation patch

No Major release

My current thinking is that major releases shouldn't be automated. If you think it should, create an issue.

What it doesn't do

  • Create artefacts
  • Push or pull branches
  • Updates your package.json
  • Use any other semantic versioning

Testing

npm test

Next steps

  • Generate a change log? (read)
  • Create an artefact? (read)

Alternative tools

Thank yous

  • Eric Elliot - Still not using his good functional programming principles but his lessons on modularity are awesome
  • Jest - Especially code coverage.
  • Typescript - It's not a Typescript project but the --checkJs option catches lots of code correctness issues when using docblock comments.
  • Husky - Preventing me from committing errors
  • ESLint - Keeps my code tidy
  • Prettier - Prevents me from having to worry about style issues.

Resources