diff --git a/node_modules/semver-truncate/index.js b/node_modules/semver-truncate/index.js
new file mode 100644
index 0000000..c43c1e7
--- /dev/null
+++ b/node_modules/semver-truncate/index.js
@@ -0,0 +1,28 @@
+'use strict';
+var semver = require('semver');
+
+module.exports = function (version, type) {
+	if (['major', 'minor', 'patch'].indexOf(type) === -1) {
+		throw new TypeError('Invalid version type');
+	}
+
+	version = semver.parse(version, {loose: true});
+
+	if (!version) {
+		throw new Error('Version ' + version + ' is not valid semver');
+	}
+
+	version.build = '';
+	version.prerelease = '';
+
+	if (type === 'minor') {
+		version.patch = 0;
+	}
+
+	if (type === 'major') {
+		version.patch = 0;
+		version.minor = 0;
+	}
+
+	return version.format();
+};
diff --git a/node_modules/semver-truncate/license b/node_modules/semver-truncate/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/node_modules/semver-truncate/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/semver-truncate/package.json b/node_modules/semver-truncate/package.json
new file mode 100644
index 0000000..cee4fa0
--- /dev/null
+++ b/node_modules/semver-truncate/package.json
@@ -0,0 +1,68 @@
+{
+  "_from": "semver-truncate@^1.1.2",
+  "_id": "semver-truncate@1.1.2",
+  "_inBundle": false,
+  "_integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=",
+  "_location": "/semver-truncate",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "semver-truncate@^1.1.2",
+    "name": "semver-truncate",
+    "escapedName": "semver-truncate",
+    "rawSpec": "^1.1.2",
+    "saveSpec": null,
+    "fetchSpec": "^1.1.2"
+  },
+  "_requiredBy": [
+    "/bin-version-check"
+  ],
+  "_resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz",
+  "_shasum": "57f41de69707a62709a7e0104ba2117109ea47e8",
+  "_spec": "semver-truncate@^1.1.2",
+  "_where": "C:\\Users\\marcr\\Desktop\\KorAp\\Git\\Kalamar\\node_modules\\bin-version-check",
+  "author": {
+    "name": "Sindre Sorhus",
+    "email": "sindresorhus@gmail.com",
+    "url": "sindresorhus.com"
+  },
+  "bugs": {
+    "url": "https://github.com/sindresorhus/semver-truncate/issues"
+  },
+  "bundleDependencies": false,
+  "dependencies": {
+    "semver": "^5.3.0"
+  },
+  "deprecated": false,
+  "description": "Truncate a semver version: 1.2.3 → 1.2.0",
+  "devDependencies": {
+    "ava": "*",
+    "xo": "*"
+  },
+  "engines": {
+    "node": ">=0.10.0"
+  },
+  "files": [
+    "index.js"
+  ],
+  "homepage": "https://github.com/sindresorhus/semver-truncate#readme",
+  "keywords": [
+    "semver",
+    "version",
+    "semantic",
+    "truncate",
+    "shorten",
+    "simplify"
+  ],
+  "license": "MIT",
+  "name": "semver-truncate",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/sindresorhus/semver-truncate.git"
+  },
+  "scripts": {
+    "test": "xo && ava"
+  },
+  "version": "1.1.2"
+}
diff --git a/node_modules/semver-truncate/readme.md b/node_modules/semver-truncate/readme.md
new file mode 100644
index 0000000..1f6ad8c
--- /dev/null
+++ b/node_modules/semver-truncate/readme.md
@@ -0,0 +1,49 @@
+# semver-truncate [![Build Status](https://travis-ci.org/sindresorhus/semver-truncate.svg?branch=master)](https://travis-ci.org/sindresorhus/semver-truncate)
+
+> Truncate a semver version: `1.2.3` → `1.2.0`
+
+
+## Install
+
+```
+$ npm install --save semver-truncate
+```
+
+
+## Usage
+
+```js
+const semverTruncate = require('semver-truncate');
+
+semverTruncate('1.2.3-foo', 'patch');
+//=> '1.2.3'
+
+semverTruncate('1.2.3', 'minor');
+//=> '1.2.0'
+
+semverTruncate('1.2.3', 'major');
+//=> '1.0.0'
+```
+
+
+## API
+
+### truncateSemver(version, type)
+
+#### version
+
+Type: `string`
+
+Semver version.
+
+#### type
+
+Type: `string`  
+Values: `patch` `minor` `major`
+
+Version type to truncate to.
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
