https://blog.soshace.com/setting-up-automated-semantic-versioning-for-your-nodejs-project/