summaryrefslogtreecommitdiffstats
path: root/lib/version.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2015-10-13 15:50:54 +0200
committerSamy Pessé <samypesse@gmail.com>2015-10-13 15:50:54 +0200
commit269d08a35fb1e5a235b4db078293d0bd3f8565ff (patch)
tree4080be0ef4fdd384d19182d38a2b8ccd7956367d /lib/version.js
parentf626e83e48fbe3039aa21f5df610d9004f5f75c4 (diff)
downloadgitbook-269d08a35fb1e5a235b4db078293d0bd3f8565ff.zip
gitbook-269d08a35fb1e5a235b4db078293d0bd3f8565ff.tar.gz
gitbook-269d08a35fb1e5a235b4db078293d0bd3f8565ff.tar.bz2
Correctly handle pre-version for plugins checks
Diffstat (limited to 'lib/version.js')
-rw-r--r--lib/version.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/version.js b/lib/version.js
new file mode 100644
index 0000000..f0ae187
--- /dev/null
+++ b/lib/version.js
@@ -0,0 +1,19 @@
+var semver = require('semver');
+var pkg = require('../package.json');
+
+var VERSION = pkg.version;
+var VERSION_STABLE = VERSION.replace(/\-(\S+)/g, '');
+
+// Test if current current gitbook version satisfies a condition
+// We can't directly use samver.satisfies since it will break all plugins when gitbook version is a prerelease (beta, alpha)
+function satisfies(condition) {
+ // Test with real version
+ if (semver.satisfies(VERSION, condition)) return true;
+
+ // Test with future stable release
+ return semver.satisfies(VERSION_STABLE, condition);
+}
+
+module.exports = {
+ satisfies: satisfies
+};