0.0.3 • Published 4 years ago

semantiq v0.0.3

Weekly downloads
1
License
ISC
Repository
-
Last release
4 years ago

Semantiq

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

npm.io

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

FlagDescriptionSemver
featA new featureMinor
fixA bug fixpatch
docsDocumentation only changespatch
styleChanges that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)-
refactorA code change that neither fixes a bug nor adds a featurepatch
perfA code change that improves performancepatch
testAdding missing or correcting existing testspatch
choreChanges to the build process or auxiliary tools and libraries such as documentation generationpatch

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