semantiq
v0.0.3
Published
Gets the version number of the next release
Downloads
2
Readme
Semantiq
A most basic cli that gets the next semantic release, looking at the last commit and package.json version.
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
Alternative tools
- Unleash - a fully fledged publishing system for GitHub and npm
- Semantic release - Another automated publisher
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.